2011-11-30 51 views
1

我有一個視圖,如果用戶滾動它就會改變。 我需要一些東西來讀取用戶的滾動數據(方向,力等),如UITableView這樣做。 如果用戶觸摸屏幕並將手指移動到向上視圖,則需要接收滾動數據以調用重繪方法。 如何接收滾動數據?接收滾動方向,電源ios

+0

你想要什麼數據?它是滾動的方向嗎? –

+0

方向與力量。 – Oleg

+1

嘗試此鏈接它會幫助: - http://stackoverflow.com/questions/2543670/iphone-sdk-finding-the-direction-of-scrolling-in-uiscrollview –

回答

5

是的,你可以得到兩者。

要獲得滾動的方向,您需要實施- (void)scrollViewDidScroll:(UIScrollView *)scrollView委託。

int prevValue = 0; 
- (void)scrollViewDidScroll:(UIScrollView *)scrollView 
{ 
    int percentScrolled = abs((int)ceil((scrollView.contentOffset.y/scrollView.contentSize.height)*100)); 

    if(percentScrolled > prevValue) 
     NSLog("Scrolling Down"); 
    else 
     NSLog("Scrolling UP"); 

    prevValue = percentScrolled; 
    return; 
} 

現在獲得滾動的力量或力量。你實際上需要爲你的scrollView(或tableView)設置一個叫做decelerateRate的東西。請參閱here

+0

它會工作,如果我有一個自定義視圖需要重新繪製,取決於用戶在觸摸屏幕後移動手指的位置? – Oleg

+0

我還沒有UIScrollView對象。如果用戶按下並在屏幕上移動手指(滾動),我有UIView對象旋轉。所以我需要從中獲取滾動數據。 – Oleg