我在UIView
的ViewController视图(父视图)中放置了storyboard
(子视图)。
我正在使用AutoLayout
当我在iPhone3.5“设备上运行应用程序时,父视图的高度为480,但子视图的高度为568。
如何使用AutoLayout
设置子视图的高度与父高度相同?
以下是我尝试过但没有效果。
1)在故事板中,“等高”限制被禁用
2)我将代码放在ViewController的viewDidLoad
中。
NSLayoutConstraint *constraint = [NSLayoutConstraint constraintWithItem:myView
attribute:NSLayoutAttributeHeight
relatedBy:NSLayoutRelationEqual
toItem:self.view
attribute:NSLayoutAttributeHeight
multiplier:1.0
constant:0];
[self.view addConstraint:constraint];
答案 0 :(得分:0)
您需要使用常数0,乘数1附加顶部,底部,前导和尾随。
需要设置的属性如下:
NSLayoutAttributeTop,
NSLayoutAttributeBottom,
NSLayoutAttributeLeading,
NSLayoutAttributeTrailing
这种方法的方法是:
constraintWithItem:属性:relatedBy:toItem:属性:乘数:常数:
另一种方法是使用以下视觉约束,使用以下可视格式进行垂直:
N:[yourView]
以及横向的以下内容:
H:[yourView]
注1:此方法使用的方法是
constraintsWithVisualFormat:options:metrics:views:
注意2:旁边没有“ - ”表示与superview的距离为0。
最后一种方法是使用故事板。您需要做的就是为内部视图设置关于其超级视图的方法1约束,并使常量为0.
我希望它有所帮助。