
[英]reducing space between cells in UITableView - why won't this code do this?
[英]Why do UITableView zero height cells leave space gaps?
我的 Objective-C Catalyst 应用程序有一个表格视图,它以 Groups within Groups 和 Notes and Groups within Groups 的形式显示分层数据。 组有一个披露控件,当切换时“打开”组以显示其内容,或“关闭”组以隐藏其内容。
如下两个屏幕截图所示,问题是当包含多个项目的 Group 被“关闭”时,“关闭”组下方会显示一个明显的垂直间隙空间。 间隙空间的高度与“封闭”组内的项目数成正比。 当“关闭”组切换为“打开”时,间隙空间消失——恢复到正常的单元格间距。 此问题存在于 Catalyst 应用程序的 iOS 和 macOS 版本中。
tableView 单元格是样式自定义单元格。 “打开”或“关闭”组的显示是通过根据项目是否可见改变单元格高度来控制的。 如果项目埋在“封闭”组中,则单元格的高度设置为零,否则单元格的高度正常设置。 这是在 tableView 委托中完成的 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
…
…
…
// Node is hidden if an ancestor is collapsed.
if ([model isNodeWithinCollapsedAncestor:node]) {
return 0;
} else {
return [super tableView:tableView heightForRowAtIndexPath:indexPath];
}
}
我尝试了许多修改以试图消除这些差距,但没有成功。 其中包括:
似乎没有什么可以阻止间隙空间。 在我看来,零高度单元格有一些剩余高度,可能只有几个点,但我没有成功摆脱空间间隙。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.