滚动过去的内容边界时,防止 UITableView 的部分标题做奇怪的事情吗?

Posted

技术标签:

【中文标题】滚动过去的内容边界时,防止 UITableView 的部分标题做奇怪的事情吗?【英文标题】:Prevent section headers of UITableView from doing weird stuff when scrolled past content bounds? 【发布时间】:2012-07-23 21:55:59 【问题描述】:

让我详细说明“奇怪的东西”。我的应用程序有一个表格视图,里面有东西,就像大多数表格视图一样。屏幕顶部还有一个半透明的黑条,通过它滚动可以看到表格视图内容,就像 iPhone 照片应用程序一样。

所有这些都可以正常工作,除了当节标题视图滚动到顶部栏时,它会被向上推,并且下一个节标题会浮在顶部。上一节标题最终被向上推,在应有的位置留下一个小间隙。我想这是一直发生的事情,但它现在才可见,因为我在内容区域之外显示了部分表格视图。

我知道这很难用文字来解释,所以这里有图片:

到目前为止一切看起来都很好......

..突然,导航栏后面出现一个巨大的白色缺口。

【问题讨论】:

【参考方案1】:

您可以将表格视图的边界设置为不隐藏在半透明栏下,例如:

tableView.frame = CGRectMake(0, 44, self.frame.size.width, self.frame.size.height-44);

或者你可以让栏不透明,我想。

【讨论】:

这并不能真正回答问题,但我想除了“Apple 从未打算将半透明条与节标题一起使用”之外没有答案。 ://

以上是关于滚动过去的内容边界时,防止 UITableView 的部分标题做奇怪的事情吗?的主要内容,如果未能解决你的问题,请参考以下文章

NSFetchedResultsController 添加新记录时如何防止 UITableView 向上滚动?

防止 UITableView 在自定义子视图处理触摸时滚动

内容的 UITableView 背景图像

UIView、UICollectionView、UITableView、UIScrollView 的边界属性理解混乱

如何防止前置滚动?

滚动以在 UIView 中加载内容