【发布时间】:2013-12-12 02:03:36
【问题描述】:
我有一个 UITableView,在自定义单元格下方(在 IB 中)我插入了一个 UIView。 UIView 在调用 viewDidLoad() 时被设置为隐藏,并且仅在 UITableView 中没有数据时显示。这很好用,符合我的目的。
问题是即使 UIView 被隐藏,UITableView 上的滚动也会认为视图存在。即垂直滚动,滚动远低于最后一个单元格,覆盖 UIView 存在的区域 - 即使它是空白且没有显示任何内容。
我试图隐藏 UIView 但这也无济于事。如何让滚动不扩展到 UIView 覆盖的区域?
编辑:
左边的图片是 IB 的样子。我添加了一个 UIView 作为 TableView 的子视图。右图是最后一个单元格下方的大滚动空间。
预期行为:当视图被隐藏时,滚动视图只滚动到最后一个单元格。
【问题讨论】:
-
尝试将视图的高度设为 0 而不是隐藏它。
-
重要区别:您说您的视图“低于”IB 中的自定义单元格。你不会把它当作另一个原型细胞吧?
-
另外,您能否澄清一下“垂直滚动,滚动远低于最后一个单元格,覆盖 UIView 存在的区域 - 即使它是空白且没有显示任何内容”?看起来你可能在里面放了一个不属于的词。
-
@ErikKerber 是的,它不是另一个原型单元。它是 UITableView 内的子视图。我的意思是滚动动作允许用户垂直滚动过去最后一个单元格(相当数量)。如果我降低视图的高度,滚动量会减少,这表明尽管视图被隐藏,但滚动边界已设置为覆盖 UIView。
-
@wholly_cow 我认为此时您最好提供您所看到的与您所期望的内容的屏幕截图。只要您的视图只是 UITableView 的子视图,并且您没有手动尝试更改 contentSize,那么该视图不应影响 contentSize 或可滚动性。
标签: ios iphone objective-c uitableview uiview