我如何以编程方式从边缘(等距)间隔UILabel元素?我有点卡在这个问题上,因为我不知道要调用哪个属性,或者它是否是我需要的属性。汽车布局能为我做什么吗?
答案 0 :(得分:0)
非常简单,使用这个出色的自动布局类别: https://github.com/jrturton/UIView-Autolayout
[self.yourLabel pinToSuperviewEdges:JRTViewPinLeftEdge|JRTViewPinRightEdge inset:20.0];
将标签从其超视图的左右边缘20个像素固定。
答案 1 :(得分:0)
使用自动布局,您可以将标签水平居中:
label.translatesAutoresizingMaskIntoConstraints = NO;
[label addConstraint:[NSLayoutConstraint constraintWithItem:label
attribute:NSLayoutAttributeCenterX
relatedBy:NSLayoutRelationEqual
toItem:[label superview]
attribute:NSLayoutAttributeCenterX
multiplier:1 constant:0]];
或者使用格式语言,您可以横向填充超级视图:
label.translatesAutoresizingMaskIntoConstraints = NO;
[label.addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@[@"H:|[label]|"]
options:0
metrics:nil
views:@{@"label":label}]];
或中心:
label.translatesAutoresizingMaskIntoConstraints = NO;
[label.addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@[@"H:|-(>=0)-[label]-(>=0)-|"]
options:0
metrics:nil
views:@{@"label":label}]];
或在两边添加固定保证金:
label.translatesAutoresizingMaskIntoConstraints = NO;
[label.addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@[@"H:|-(20)-[label]-(20)-|"]
options:0
metrics:nil
views:@{@"label":label}]];