我希望只为最上面的单元格提供节标题(对于UITableView),这是一种表格顶部的标题,显示有关最上面单元格的一些附加信息。
它有可能吗?如果没有(因为我认为,因为我仔细阅读了所有文档)你是否知道如何复制这种行为?
答案 0 :(得分:1)
您需要创建自己的视图才能用作标题。最简单的方法是使您的自定义标题视图成为表格视图的兄弟,并将其定位,使其位于屏幕上的表格视图上方。
由于UITableView
是UIScrollView
的子类,因此您的表视图的委托也是一个滚动视图委托,并接收UIScrollViewDelegate
消息。您想要实现此方法:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
每次代理收到该消息时,您希望它查看表视图顶部的哪个表视图行(使用[tableView indexPathForRowAtPoint:tableView.contentOffset]
)并相应地更新自定义标题视图的内容。
答案 1 :(得分:0)
阅读UITableView的Apple文档。您正在寻找的属性是tableHeaderView。
答案 2 :(得分:0)
UITableViewController
这很难(不是不可能),因为它会强制tableView成为根视图。
如果您实施自己的控制器,则从UIViewController
而不是UITableViewController
继承。
您必须采用数据源并委托协议,并适当地实施这些方法,但是您可以将普通视图作为根视图。然后,您可以在任何您想要的位置和大小中添加UITableView
,并附上您想要的任何内容。
唯一真正的限制是您在IB中构建的静态表视图。但是,在这种情况下,您可以实现视图控制器包含,只需将您的表视图控制器作为另一个控制器的父级,并为其提供一个特定的视图来接管。
第一个选项很简单,但第二个选项是高级技术,你需要理解视图控制器包含才能正确执行。