2015-04-23 96 views
0

不工作這是我的代碼設定內容的UITableView的偏移時,它的滾動

// 1 
func scrollViewDidEndDragging(scrollView: UIScrollView, willDecelerate decelerate: Bool) { 
    scrollTableView() 
} 

// 2 
@IBAction func buttonPressed() { 
    scrollTableView() 
} 

// 3 
func scrollTableView() { 
    tableView.setContentOffset(CGPointZero, animated: false) 
    // tableView.scrollRectToVisible(CGRect(x: 0, y: 0, width: 1, height: 1), animated:true) // does not work either 
} 

即使方法1(誰調用方法3)被調用,表視圖繼續其自然滾動減速直至停止。它並不是我自己想要的地方。

當表格視圖不滾動時,我通過按下按鈕調用方法2它確實獲得了它的內容偏移集合,並且它定位在它應該在的位置。

我如何通過在方法1中調用它來工作?

感謝

回答

0

如果我得到你的權利以下應該工作:

func scrollViewWillBeginDecelerating(scrollView: UIScrollView) { 
    scrollTableView() 
} 
+0

我想使用scrollViewDidEndDragging,因爲我希望桌面視圖滾動,只要用戶舉起他的手指 – Lucas

+0

我不是很確定你想要達到什麼:)你能解釋更詳細一點嗎? –

+0

我希望桌面視圖在滾動 – Lucas

0

你也應該實現scrollViewDidEndDecelerating

scrollViewDidEndDragging: willDecelerate:

scrollViewDidEndDragging: willDecelerate:總是叫

scrollViewDidEndDecelerating在表減速和減速結束時調用。

+0

我想使用scrollViewDidEndDragging,因爲我希望表視圖在用戶提起手指時立即滾動 – Lucas

+0

//如果用戶拖動,手指向上調用。如果它將繼續移動,則減速爲真 - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate; –

+0

implements func stopScroll() CGPoint offset = scrollView.contentOffset; offset.x - = 1.0; offset.y - = 1.0; [scrollView setContentOffset:offset animated:NO]; offset.x + = 1.0; offset.y + = 1.0; [scrollView setContentOffset:offset animated:NO]; } 並調用它在scrollViewDidEndDragging:willDecelerate:方法 –