好的,所以我有这个问题,我需要访问 UITableView 中显示的页眉/页脚。此外,我需要从 UITableView 的子类执行此操作(因此我不能简单地将标签从 UITableView 委托分配给视图)。UITableView 确实保留了一组可见的页眉和页脚,但它甚至无法访问这些数组,即使是子类,我个人认为这是愚蠢的。
我需要这个,以便我可以提供自定义拖放插入/移动用户界面。我试图让它几乎像 Apple 自己的重新排列界面一样工作,但当然,使用我自己的自定义实现(比如从另一个表中拖动的能力)。除了页眉/页脚外,一切都完美无缺。
目前我正试图通过遍历 UITableView 的所有子视图来破解它。我很确定 UITableView 的唯一子视图是:backgroundView、UITableViewCells 和页眉/页脚。所以我只需要确定哪些是 UITableViewCells(很容易),哪些是背景视图(也很容易),哪些是页眉/页脚(不太容易)。我很确定我可以这样做,但这绝对是一种技巧,如果可能的话,我宁愿找到更好的方法。
更新
我正在重写该- (void) setDelegate:(id<UITableViewDelegate>)delegate
方法并检查委托是否响应适当的选择器以生成页眉/页脚(并适当地设置 BOOL)。这使得确定特定子视图是什么变得容易得多,因为页眉 -> 单元格 -> 页脚的进程是可预测的。