我UITextView
内有UITableViewCell
。
它不可编辑,从JSON
解析加载的textView数据,我使用UITextView
代替UILabel
,因为我需要在NSAttributed Strings
上进行一些点按手势,方式是无法使用UILabel
完成。
对于一行,我想在UITextView
上显示文字我需要它具有高度约束,常数为40。
对于我不想呈现文本的行,我需要隐藏没有高度的行,所以我使高度约束为0常数。
问题在于,虽然在这种情况下UITextView
可以被隐藏,但它的高度仍然存在。
我使用自动尺寸来确定细胞高度。
尝试了很多我在stackoverflow上找到的方法,但遗憾的是没有解决我的问题。
请注意,没有必要为此UITextView
设置特定的高度。我只是希望它取决于我收到的数据,要么在没有高度的情况下可见,要么在没有任何高度的情况下隐藏。
答案 0 :(得分:0)
隐藏子视图不会将其从视图层次结构或布局计算中删除。
如果您想要隐藏UITextView
并正确更新布局,我可以考虑两个选项。
如果您的定位iOS> = 9,则应使用UIStackView
。当隐藏其中一个子视图时,它会自动调整其布局,这是您需要的。
否则,您必须删除并创建约束,以便将单元格的底部约束为红色视图(在图像中),而不是UITextView
。