ios - 更改 UITableViewCell 中元素的动态高度约束

标签 ios swift uitableview

我在 UITableViewCell 中有一个 UITextView。 它不可编辑,从 JSON 解析加载到 textView 的数据,我使用 UITextView 而不是 UILabel 因为我需要在 NSAttributed Strings 上进行一些点击手势,以 UILabel 无法完成的方式。

对于一行,我想在 UITextView 上显示文本,我需要它可见,高度限制为常量 40。

对于我不想显示文本的行,我需要它隐藏没有高度,所以我将高度约束设置为 0 常量。

问题是虽然在那种情况下 UITextView 可以隐藏,但它的高度仍然存在。

我对单元格高度使用自动尺寸。

尝试了很多我在 stackoverflow 上找到的方法,但不幸的是没有解决我的问题。

请注意,没有必要为此 UITextView 指定特定高度。我只是希望它取决于我收到的数据,要么在没有一定高度的情况下可见,要么在没有任何高度的情况下隐藏。

enter image description here

最佳答案

隐藏 subview 不会将其从 View 层次结构或布局计算中移除。

如果您想隐藏 UITextView 并正确更新布局,我可以想到两个选项。

如果您的目标 iOS >= 9,您应该使用 UIStackView。当其 subview 之一被隐藏时,它会自动调整其布局,这正是您所需要的。

否则,您将不得不删除并创建约束,以便将单元格底部限制为红色 View (在您的图像中)而不是 UITextView

关于ios - 更改 UITableViewCell 中元素的动态高度约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40284804/

相关文章:

uitableview - 在 UITableViewCell 中显示 UIMenuController,分组样式

iphone - 上传到应用商店时,我的应用下载了两次

php - AFNetworking 将 JSON 数组发布为多个单条目字典

android - 如何在 corona sdk 中创建和保存设置?

ios - UIView Animate 只有在 IBAction 中时才会动画。我如何让它在我的情况下动画?

ios - UITableViewCell 的 textLabel 的字体变化没有视觉上的变化

ios - 在 Swift 框架中打包 XIB 进行分发?

ios - iOS图表更改网格线颜色

ios - 删除后如何重新安装ProjectUITests?

iOS Swift,UITableView 中的单元格不占据整个宽度