2012-08-25 52 views
0

我想只有最上面的单元格的部分标题(对于UITableView),表格顶部的一种标题,显示关于最上面的单元格的一些附加信息。只有一个部分标题

是不是有可能?如果没有(因为我仔细阅读了所有的文档,我猜想)你有任何想法如何复制这种行为?

回答

1

您需要创建自己的视图以用作标题。将您的自定义标题视图设置为表视图的同级并定位它以使其位于屏幕上的表视图之上是最简单的。

由于UITableViewUIScrollView的子类,您的表视图委托也是滚动视图委托并接收UIScrollViewDelegate消息。要实现此方法:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView 

您的每一个委托收到该消息时,您希望它看起来在该表视图行表格视图(使用[tableView indexPathForRowAtPoint:tableView.contentOffset])的顶部和更新的内容,您自定义标题视图。

+0

indexPathForRowAtPoint:tableView.contentOffset我缺少这个API。谢谢 :) – Luka

0

阅读UITableView的Apple文档。您正在查找的属性是tableHeaderView。

+0

它不会粘在最上面,也不会链接到最上面的单元格 – Luka

0

UITableViewController这很难(并非不可能),因为它强制tableView成为根视图。

如果您实施自己的控制器,请从UIViewController继承而不是UITableViewController

您必须采用数据源和委托协议,并且适当地实施这些方法,但您的根视图具有普通视图。然后,您可以在任何位置和尺寸的任意位置添加UITableView,并在其周围放置任何物品。

唯一真正的限制是您在IB中构建的静态表视图。但是,在这种情况下,您可以实现视图控制器控制,并将您的表视图控制器添加到另一个控制器中,并为其指定一个特定的视图。

第一个选项非常简单,但第二个选项是高级技巧,您需要了解视图控制器的控制才能正确执行。

相关问题