36

我有一个UITableView实例变量。我希望能够将我的视图控制器注册为我的UITableViewControllerUIScrollViewDelegate。我已经尝试成为UITableView的UIScrollViewDelegate代表

tableView.delegate = self; 

但滚动时,我的方法

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView 
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView    
        willDecelerate:(BOOL)decelerate 

不会被调用。有什么建议么?

回答

126

现在UITableViewDelegate符合UIScrollViewDelegate

(我写这个答案,因为很多人会发现这个网页的谷歌搜索..)

+0

你是那么对! – 2010-07-01 08:39:30

+0

我不认为是现在,就是这样。 – mskw 2013-08-28 04:27:25

+0

现在可能是因为在2009年UITableViewDelegate不符合UIScrollViewDelegate;) – Francescu 2014-02-12 13:29:27

5

这是官方不支持的。 UITableViewUIWebView不公开其内部管理的滚动视图。

您可以下载到子视图层次结构中并进行未公开的调用,但不建议这样做,因为它是官方禁止的,并且如果底层(未记录的)API更改,可能会在未来的操作系统版本下中断。

+0

我很害怕这种情况。谢谢。 – Brian 2009-10-23 20:10:20

+3

由于santoni的回答如下,'UITableViewDelegate'符合'UIScrollViewDelegate'(这可能在SDK版本中已经改变了),这意味着所有的'UIScrollViewDelegate'消息都会传递给UITableView的委托。 – 2010-07-09 09:33:14

+0

一个uitableview是一个uiscrollview – marchinram 2013-03-20 08:50:38

7

UITableViewDelegate将实施UIScrollViewDelegate协议还。