我需要像这样显示3个标签:"|-15-Label1-0-Label2-0- label3 -15|".The label1,label2,label3应该有相等的widths.How我可以使用autolayout和coding.Any建议来获得这个吗?
我已经试过了,但是在我的头像上看不到任何东西。
NSDictionary *views2 = NSDictionaryOfVariableBindings(label1, label2, label3);
[headerView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-leftPadding-[label1]-0-[label2]-0-[label3]-rightPadding-|" options:0 metrics:@{@"leftPadding":[NSNumber numberWithInt:15],@"rightPadding":[NSNumber numberWithInt:15]} views:views2]];
[headerView addConstraint:[NSLayoutConstraint constraintWithItem:label1
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:label2
attribute:NSLayoutAttributeWidth
multiplier:1
constant:0]];
[headerView addConstraint:[NSLayoutConstraint constraintWithItem:label1
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:label3
attribute:NSLayoutAttributeWidth
multiplier:1
constant:0]];
[headerView addConstraint:[NSLayoutConstraint constraintWithItem:label2
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:label3
attribute:NSLayoutAttributeWidth
multiplier:1
constant:0]];
[headerView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[label1]|" options:0 metrics:nil views:views2]];
[headerView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[label2]|" options:0 metrics:nil views:views2]];
[headerView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[label3]|" options:0 metrics:nil views:views2]];发布于 2015-06-01 15:31:03
如果您希望某些视图具有相同的宽度,而不考虑它们之间的距离。您应该使用间隔视图的概念。有关Spacer视图的更多信息,请参阅apple文档。我认为是最好的解决方案。使用间隔时,需要将约束应用于间隔视图,这将使标签的宽度变得相等。
https://stackoverflow.com/questions/30567738
复制相似问题