AutoLayout两个标签的比例为30:70比例

时间:2014-12-26 16:21:07

标签: ios storyboard autolayout

我有两个标签绿色和黄色,我试图让它们始终与屏幕宽度成正比。我尝试了宽高比和改变优先级等但没有得到最终结果。如果有人可以帮助我enter image description here

,我将非常感激

enter image description here

1 个答案:

答案 0 :(得分:1)

您需要为与superview宽度相关的视图宽度设置约束。

在你的情况下:

  1. 将绿色视图的左侧固定到视图中。
  2. 将黄色视图的右侧固定在视图上。
  3. 使绿色和黄色视图之间的水平间距为零。
  4. 现在创建一个约束并应用它:

    - (void)viewDidLoad {
        [super viewDidLoad];
        [self setupWidthConstraints];
    }
    
    - (void)setupWidthConstraints {
        NSLayoutConstraint *widthConstraint;
        widthConstraint = [NSLayoutConstraint constraintWithItem:self.greenView
                                                       attribute:NSLayoutAttributeWidth
                                                       relatedBy:NSLayoutRelationEqual
                                                          toItem:self.view
                                                       attribute:NSLayoutAttributeWidth
                                                      multiplier:0.30
                                                        constant:0.0];
    
        [self.view addConstraint:widthConstraint];
    }
    

    这会将绿色视图的宽度限制为视图宽度的30%。由于黄色视图固定在侧面和绿色视图上,它将占用剩余的70%。

    如果您希望在行动中看到这一点,您可以从https://bitbucket.org/abizern/so27659421/get/master.zip

    获得一个示例项目