我正在尝试通过制作如下所示的简单项目(单视图应用程序)来了解约束对于iOS应用程序如何以编程方式工作的:

我仅在viewDidLoad中使用以下代码成功创建了顶部空间:

NSLayoutConstraint *myConstraint =[NSLayoutConstraint
                                   constraintWithItem:_container
                                   attribute:NSLayoutAttributeTop
                                   relatedBy:NSLayoutRelationEqual
                                   toItem:self.view
                                   attribute:NSLayoutAttributeTop
                                   multiplier:1.0
                                   constant:200];

[self.view addConstraint:myConstraint];

myConstraint =[NSLayoutConstraint
               constraintWithItem:_container
               attribute:NSLayoutAttributeHeight
               relatedBy:NSLayoutRelationEqual
               toItem:nil
               attribute:NSLayoutAttributeNotAnAttribute
               multiplier:1.0
               constant:216];

[_container addConstraint:myConstraint];

但是我无法设置_container的高度(UIView-Superview的子视图)。在这种情况下,我将如何创建多个约束?谢谢。

更新:我将以编程方式控制顶空的大小,以便_container可以上下移动,甚至在屏幕外移动。

最佳答案

您可以使用视觉格式语言:"V:[view(==216.0)]"或使用constraintWithItem:在代码中设置高度限制,其中第二项是nil,第二个属性是NSLayoutAttributeNotAnAttribute且常数值为您的身高。

关于ios - 约束如何以编程方式工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18941353/

10-13 06:35