0

好的,所以我有这个问题,我需要访问 UITableView 中显示的页眉/页脚。此外,我需要从 UITableView 的子类执行此操作(因此我不能简单地将标签从 UITableView 委托分配给视图)。UITableView 确实保留了一组可见的页眉和页脚,但它甚至无法访问这些数组,即使是子类,我个人认为这是愚蠢的。

我需要这个,以便我可以提供自定义拖放插入/移动用户界面。我试图让它几乎像 Apple 自己的重新排列界面一样工作,但当然,使用我自己的自定义实现(比如从另一个表中拖动的能力)。除了页眉/页脚外,一切都完美无缺。

目前我正试图通过遍历 UITableView 的所有子视图来破解它。我很确定 UITableView 的唯一子视图是:backgroundView、UITableViewCells 和页眉/页脚。所以我只需要确定哪些是 UITableViewCells(很容易),哪些是背景视图(也很容易),哪些是页眉/页脚(不太容易)。我很确定我可以这样做,但这绝对是一种技巧,如果可能的话,我宁愿找到更好的方法。

更新

我正在重写该- (void) setDelegate:(id<UITableViewDelegate>)delegate方法并检查委托是否响应适当的选择器以生成页眉/页脚(并适当地设置 BOOL)。这使得确定特定子视图是什么变得容易得多,因为页眉 -> 单元格 -> 页脚的进程是可预测的。

4

1 回答 1

0

你说你不能使用 UITableView 委托方法,但是你有没有考虑让 UITableView 子类对象成为它自己的委托?在名为 realDelegate 的子类上创建一个单独的属性,并将任何其他委托调用传递给它。

于 2012-04-04T13:57:18.603 回答