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