在 UITableView 的“反弹区域”中继续交替行颜色

Posted

技术标签:

【中文标题】在 UITableView 的“反弹区域”中继续交替行颜色【英文标题】:Continue alternating row colors in the "bounce area" of a UITableView 【发布时间】:2012-01-07 17:16:26 【问题描述】:

在 iPhone 上的 Weather.app 中,滚动越过 Hourly tableview 的边界会继续显示交替的表格单元格,只是其中没有任何文本(见下图)。我想知道如何复制这种外观。 This question 提供了一种解决方案,但我希望有一种更有效的方法,然后在我的表格视图上方添加空白单元格的图像。

谢谢

【问题讨论】:

【参考方案1】:

您可以使用 UITableView 的 headerViewfooterView 属性。这些允许您指定将放置在内容单元之前和之后的自定义 UIView。

因此,您应该使用一些具有交替颜色的虚拟内部视图来初始化 UIView。这个 UIView 的高度应该等于tableView.frame.size.height。然后就这样做:


tableView.headerView = headerViewWithFakeColors;
tableView.footerView = footerViewWithFakeColors;

此外,您还需要更改 contentInset 属性,以便这些虚假的页眉和页脚视图仅在用户弹跳时可见(使用 contentInset 您可以控制表格视图开始弹跳的点)


tableView.contentInset = UIEdgeInsetsMake(headerViewWithFakeColors.frame.size.height, 0, -footerViewWithFakeColors.frame.size.height, 0);

【讨论】:

以上是关于在 UITableView 的“反弹区域”中继续交替行颜色的主要内容,如果未能解决你的问题,请参考以下文章

如何在 UIScrollView 的“反弹”区域中绘制?

UITableView如何在重新加载后继续滚动

灵活就业人员压力好大,不知道该不该继续交社保?

UITableView 类似 Contacts ios 7 中的社交部分

基于对象状态的从 UITableView 到 DetailView 的条件 Segue

UITableView 单手势行滑动动作