使自定义单元格(使用自动布局创建)高度为零
Posted
技术标签:
【中文标题】使自定义单元格(使用自动布局创建)高度为零【英文标题】:Make custom cell's ( created with autolayout) height to zero 【发布时间】:2016-05-30 12:19:57 【问题描述】:我想让自定义表格视图单元格的高度为零,这是使用自动布局创建的。基本上,我将容器视图作为子视图添加到 cell.contentview。容器视图的顶部、底部、左侧和右侧固定到内容视图的顶部、底部、左侧和右侧。在某些情况下,我想将高度设为 0。
我遍历了内容视图的约束,发现这个约束导致了问题。
NSLayoutConstraint:0x1369d8670 UITableViewCellContentView:0x1369b1a90.height == 48
tableview默认添加这个约束。
我尝试过的事情:我删除了容器视图的所有子视图。但这不会使单元格高度为零。
我不想做的事情:
-
我不想重新加载整个 tableview 因为我会有很多行和很多子视图。
我不想删除行
如何将高度设置为零?
【问题讨论】:
【参考方案1】:你可以重新加载特定的行,这样它就会调用 tableview 的委托方法来改变高度heightForRorAtIndexpath
。当您以编程方式重新加载特定行时,您可以设置高度 1。您可以存储临时的indexpath
,将其设为零。
通过clipsToBounds=YES
剪辑所有子视图
致电[self.tableView layoutIfNeeded];
【讨论】:
尝试了您的建议,但没有成功。单元格的内容视图仍然可见。我经历了内容视图的约束,遇到了导致 <0x1369d8670 uitableviewcellcontentview:0x1369b1a90.>0x1369d8670>
以上是关于使自定义单元格(使用自动布局创建)高度为零的主要内容,如果未能解决你的问题,请参考以下文章
如何使用动态单元格高度和自动布局以编程方式创建一个非常基本的 UITableView?