【发布时间】:2015-06-01 07:17:40
【问题描述】:
我需要显示 3 个这样的标签:“|-15-[Label1]-0-[Label2]-0-[Label3]-15|”。label1、label2、label3 的宽度应该相等。怎么可能我使用带有编码的自动布局来实现这一点。感谢任何建议。
我尝试了以下方法,但在我的 headerview 上看不到任何内容。
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]];
【问题讨论】:
-
您的代码可以用这种格式缩短:
@"H:|-leftPadding-[label1]-0-[label2(==label1)]-0-[label3(==label2)]-rightPadding-|"
标签: ios ios-autolayout