以编程方式从边缘分隔UILabel(iOS 7)

时间:2014-03-15 15:34:17

标签: ios7 uilabel autolayout spacing

我如何以编程方式从边缘(等距)间隔UILabel元素?我有点卡在这个问题上,因为我不知道要调用哪个属性,或者它是否是我需要的属性。汽车布局能为我做什么吗?

2 个答案:

答案 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}]];