2013-04-02 51 views
19

我尝试这样做:告诉如果的UITableView已滚动到顶部

- (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView 

但是当我滚动表视图顶端并没有开火。

- (void)scrollViewDidScroll:(UIScrollView *)scrollView 

火是否因此委托是没有问题的。

在viewDidLoad中我还设置[myTbl setDoesScrollToTop:YES];

+0

确实scrollViewDidScrollToTop火,当你触摸的状态栏? – Felix

回答

48

scrollViewDidScrollToTop:方法火灾时,用户点击状态栏上和scrollsToTop属性设置为YES。从文档:

滚动视图发送此消息,当它完成滚动到内容的顶部。如果内容的顶部已经显示,它可能立即调用它。对于滚动到顶部的手势(在状态栏上点击)有效,UIScrollView的scrollsToTop属性必须设置为YES。

如果用户手动滚动到顶部,它不会触发。如果你想处理这种情况,你将不得不实施scrollViewDidScroll:方法,并检查滚动是否在你自己的顶部。

您可以通过contentOffset性质例如为:检查这

if (scrollView.contentOffset.y == 0) { // TOP } 
+0

啊。疑难杂症。谢谢。 – JoshDG

+0

不错,解释很多。 – RainCast