在 UITableView 的部分之间隐藏一个部分/space
Hide a section / space between sections in UITableView
在某些情况下,我想隐藏 UITableView
.
的一部分
我已经通过为该部分返回 0
行和为该部分标题返回 nil
来解决这个问题。
之后该部分为空/不可见,但其余部分之间的差距比平时更大。
我尝试将 heightForHeader
和 heightForFooter
设置为 0.0
,但 space 仍然更大。
如何避免这些部分之间的额外 space?
为该部分返回 0 行,为该部分标题返回 nil 并不意味着该部分已隐藏。只是说明该段的数据被清除了,所以还是会出现相当于该段大小的区域。
解决方案:
您应该在允许或禁止该部分的 numberOfSections 和 cellForRowAt 函数中放置条件(例如使用 Bool 变量),当您想要隐藏它时只需将 Bool 设置为 false 并重新加载 UITableView 的数据即可。
我在 this thread 中找到了解决方案。
长话短说:您必须设置 self.tableView.sectionHeaderHeight = 0.0
以及 self.tableView.sectionFooterHeight = 0.0
即在 viewDidLoad 中。
无论出于何种原因,heightForHeader
和 heightForFooter
委托方法都会被忽略。
在某些情况下,我想隐藏 UITableView
.
我已经通过为该部分返回 0
行和为该部分标题返回 nil
来解决这个问题。
之后该部分为空/不可见,但其余部分之间的差距比平时更大。
我尝试将 heightForHeader
和 heightForFooter
设置为 0.0
,但 space 仍然更大。
如何避免这些部分之间的额外 space?
为该部分返回 0 行,为该部分标题返回 nil 并不意味着该部分已隐藏。只是说明该段的数据被清除了,所以还是会出现相当于该段大小的区域。
解决方案:
您应该在允许或禁止该部分的 numberOfSections 和 cellForRowAt 函数中放置条件(例如使用 Bool 变量),当您想要隐藏它时只需将 Bool 设置为 false 并重新加载 UITableView 的数据即可。
我在 this thread 中找到了解决方案。
长话短说:您必须设置 self.tableView.sectionHeaderHeight = 0.0
以及 self.tableView.sectionFooterHeight = 0.0
即在 viewDidLoad 中。
无论出于何种原因,heightForHeader
和 heightForFooter
委托方法都会被忽略。