我的手机中有4个组件。
这些内容可以根据来自服务器的数据进行更改(有时需要隐藏第3个图像视图,有时需要隐藏第5个UIView)。我使用自动布局和自动布局是什么方法来改变单元格的高度?
答案 0 :(得分:1)
执行以下步骤:
隐藏任何组件时,将该组件框架高度设为0并重新加载tableview。如果给任何组件保持恒定高度,则取出高度约束出口并将其设为零,并在取消隐藏时再次指定其恒定高度。
当你取消隐藏时给他特定的帧高并重新加载tableView。
heightForRow
必须返回UITableViewAutomaticDimension
由于您已经从故事板中获取了组件,因此编译器可以理解单元格的高度并相应地工作。
如果你仍然面临问题,你可以问。
答案 1 :(得分:1)
您可以使用UIStackView轻松实现此目的。堆栈视图是快速轻松地设计用户界面的强大工具。它们的属性允许高度控制它们如何布置其排列的视图。
以下是教程链接 - Tutorial
如果您从stackview中隐藏视图,它会方便地从布局中消失,但它仍然是堆栈视图的子视图。因此,如果您想稍后将其恢复,那么您不必做任何特别的事情。通过使用自定义单元格,单元格将根据堆栈视图高度自动展开或折叠。
答案 2 :(得分:0)
this two methods are use for dynamic cell height
func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat
{
return UITableViewAutomaticDimension
}
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
答案 3 :(得分:0)
我将其发布给其他人来解决我的问题。
请勿应用任何会改变layoutSubviews
中像元高度的更改,例如隐藏视图或更改任何视图的高度。