iPhone如何使用autolayout使子视图高度与父视图高度相同

时间:2014-02-18 13:31:41

标签: iphone storyboard constraints autolayout

我在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];

1 个答案:

答案 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.

我希望它有所帮助。