自动布局:当某些视图为空时自动更新约束

时间:2013-07-04 14:09:04

标签: ios autolayout nsautolayout

我有这样的观点

 _______________________________
|     |                         |
|  Label 0                      |
|     ^                         |
|  Label 1                      |
|     ^                         |
|  Label 2                      |
|     ^                         |
|  Label N                      |
|_______________________________|

^代表将Label X+1的顶部与Label X的底部相关联的约束。 <{1}}被固定常量限制在superview的顶部。

我想要实现的目标是:如果某些Label 0为空,那么Label X必须取而代之。

Label X+1

这是否可以通过自动布局实现,还是我必须以编程方式检查空白以手动更新约束?

免责声明:如果这个问题听起来非常基本,请原谅,我是从泉水和支柱中迁移出来的,现在这是一个非常危险的问题。

1 个答案:

答案 0 :(得分:1)

内容可见时是否需要更改?如果不这样做:您可以在viewWillAppear方法中进行更新。对于每个标签,请致电

[firstLabel setNumberOfLines:0];
 [firstLabel setText:newProductTitleText];
 [firstLabel sizeToFit];

将行数设置为0可让标签根据需要动态使用多行。如果这是一个空标签,实际上应该变成0行。这将更新帧,自动布局应该处理其余部分。