AutoLayout Xcode6:需要为此提供自动布局约束:

3

我在自动布局方面是新手(我擅长于自动调整大小)。我的要求如下:

  1. 我有两个视图(称为蓝色和绿色,在iPhone5上宽度和高度均为300像素),这两个视图的高度和宽度可以根据屏幕分辨率而改变,X和Y原点也可以改变。 2. 在自动调整大小中,我将此掩码用于两个视图以满足我的需求。

  2. 我应该使用哪些约束来配合这些自动调整大小的掩码呢?


将所有4个方向的约束条件设置为与父视图的顶部间距为0。 - gabbler
哦...所以蓝色和绿色的正方形视图垂直堆叠在一起,它们之间没有任何间隔,宽度和高度都为300像素。无论蓝框的X和Y值是什么,只要蓝框和绿框总是在一起即可。您希望这两个正方形都居中于屏幕吗? - Zhang
我在这里找到了一个解决方案.. https://dev59.com/Nl4b5IYBdhLWcg3w9FkI - Mayank Jain
1个回答

1
不清楚蓝色和绿色是否为兄弟姐妹或者一个包含另一个。
如果您想要实现的效果可以通过自动调整大小掩码来产生,那么您可以将“translatesAutoresizingMaskIntoConstraints”设置为true,自动调整大小掩码将自动转换为约束条件。
一般来说,如果您想要手动安装约束条件以模仿具有灵活宽度和高度的自动调整大小掩码的效果,那么您需要创建四个约束条件,保持视图的边缘与其父视图的相应边缘之间的固定距离--即视图的顶部和父视图的顶部、底部和底部、左侧和左侧、右侧和右侧。
这可以使用可视化格式语言完成,例如"H:|-(10)-[view]-(10)-|"和"V:|-(10)-[view]-(10)|"。这假设没有其他冲突的约束条件试图设置视图的高度和宽度。

在Storyboard中,我在哪里可以找到translatesAutoresizingMaskIntoConstraints选项? - Mayank Jain
似乎在iOS的Interface Builder中没有控件可以控制它(https://dev59.com/vGQn5IYBdhLWcg3wNkw4)。因此,您需要在代码中设置它。在您的视图控制器的viewDidLoad中设置它,或者子类化视图并在awakeFromNib中设置它。 - algal
在进行这个操作之前,我应该在Interface Builder中禁用自动布局吗? - Mayank Jain
No. translatesAutoresizingMaskIntroConstraints使用Autolayout。它允许您使用旧的自动调整掩码界面生成Autolayout约束。 - algal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接