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

Bha*_*esh 5 objective-c uitableview ios autolayout

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

UITableViewCell
-UIView1
--UILabel1
-UIView2
--UILabel2
Run Code Online (Sandbox Code Playgroud)

当UILabel1没有文本时,我希望UIView1被高度隐藏.为此,对于最初卸载状态的UIView1,我采用了0的高度约束.

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

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

我该如何解决这个问题?

Mac*_*ski 1

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

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

希望这可以帮助 !