【发布时间】:2014-11-19 16:39:33
【问题描述】:
在我的情况下,我有一个单元格 2 个标签(一个在另一个标签下)和一个图标在它们的左侧。这些元素及其约束(包括目标约束)在 xib 文件中有所提及。
如果第一个标签可见,则约束应该是这两个标签之间的“垂直间距”,值为 0。
如果第一个标签是隐藏的,那么约束应该是“中心 y”以将标签与图标的中心对齐。
我知道如何分开做,但如何在它们之间切换?另一个困难是所有这些元素都在单元格内,所以我应该重用它们而不是创建-删除。
已编辑
我想在一个单元格中实现两种不同的情况:
更新
我尝试使用以下代码:
[cell removeConstraint:cell.cstrSendingFileStatus];
cell.cstrSendingFileStatus = [NSLayoutConstraint constraintWithItem:cell.label2
attribute:NSLayoutAttributeCenterY
relatedBy:NSLayoutRelationEqual
toItem:cell.imgView
attribute:NSLayoutAttributeCenterY
multiplier:1
constant:0];
[cell addConstraint:cell.cstrSendingFileStatus];
第一个单元格甚至绘制正确,但我在下一个单元格时遇到问题:控制台中有很多消息表明应用程序试图打破imageView 高度限制。
【问题讨论】:
标签: ios objective-c types autolayout constraints