成为 UITableView 的 UIScrollViewDelegate 代表

Posted

技术标签:

【中文标题】成为 UITableView 的 UIScrollViewDelegate 代表【英文标题】:Become UIScrollViewDelegate delegate for UITableView 【发布时间】:2009-10-23 19:07:28 【问题描述】:

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

tableView.delegate = self;

但是当滚动时,我的方法

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

不要被叫。有什么建议吗?

【问题讨论】:

【参考方案1】:

现在UITableViewDelegate 符合UIScrollViewDelegate

(我写这个答案是因为很多人会在谷歌上找到这个页面..)

【讨论】:

我不认为是现在,就是这样。 现在可能是因为在 2009 年 UITableViewDelegate 不符合 UIScrollViewDelegate ;)【参考方案2】:

UITableViewDelegate 也将实现UIScrollViewDelegate 协议。

【讨论】:

【参考方案3】:

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

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

【讨论】:

我担心是这样的。谢谢。 正如 santoni 下面的回答所示,UITableViewDelegate 符合 UIScrollViewDelegate(这可能在 SDK 版本中发生了变化?),这意味着所有 UIScrollViewDelegate 消息都将传递给 UITableView的代表。 一个uitableview就是一个uiscrollview

以上是关于成为 UITableView 的 UIScrollViewDelegate 代表的主要内容,如果未能解决你的问题,请参考以下文章

在 UIScrollView 中快速嵌套 UITableView

IOS超强表格控件GMGridView

UIScroll 中心图像

何时使用 UITouch 与 UIScroll

UIScroll 及其嵌套元素

UIScroll和UIPickView