ios - 激活 uitableviewcell 中的约束第一次不工作

标签 ios objective-c uitableview autolayout

我在 UITableViewCell 中有以下层次结构。

UITableViewCell
-UIView1
--UILabel1
-UIView2
--UILabel2

当 UILabel1 没有文本时,我希望 UIView1 按高度隐藏。为此,我将初始卸载状态的 UIView1 的高度限制设置为 0。

现在在 cellForRowAtIndexPath 中,当我检查 Label1 的字符串是否为空时,我正在激活这个约束?

这不适用于单元格的第一次加载,当我滚动浏览 tableview 时应用此约束。我在激活约束后使用 [cell layoutIfNeeded],但它似乎不适用于首次加载。

如何解决这个问题?

最佳答案

我设法通过创建两个约束并在运行时更改它们的优先级来解决这个问题。

约束优先级发生在子类 UITableViewCell 的 layoutSubviews() 中。

希望对您有所帮助!

关于ios - 激活 uitableviewcell 中的约束第一次不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38829710/

相关文章:

ipad - 可以在不重新加载表格 View 的情况下更改 UITableViewCell 的高度吗?

iphone - 具有模糊和斜角的 GLPaint 笔刷效果

ios - Xcode TARGET_OS_IPHONE 似乎很困惑,错误或配置错误?

iphone - 如何将 -mthumb 添加到 Xcode

ios - Swift 中的 UITableView - 单元格出队

ios - ios中的照片序列是混合的

没有分隔线的 iPhone 分组 View 边框

ios - SQLITE (fmdb) 选择 x 为空的位置不起作用

ios - 如何使用解析框架在iOS中使用连接查询?

ios - 如何在我的 iOS 应用程序中每 n 分钟更新一次后台位置?