动态视图使用自动布局调整大小

时间:2015-06-07 18:38:27

标签: ios swift autolayout nslayoutconstraint

我有以下视图层次结构Main - >绿色 - >图

绿色视图具有下图中的限制

enter image description here

Img视图具有下图中的约束

enter image description here

因此,当我单击按钮时,绿色的框架会调整大小,因此Img视图会因为它们之间的约束而被调整。

但是我收到了一个错误:

  

2015-06-07 20:13:07.653 ZoomInZoomOut [7152:1435937]无法   同时满足约束。可能至少有一个   以下列表中的约束是您不想要的。试试这个:(1)   看看每个约束,并试图找出你不期望的;   (2)找到添加了不需要的约束或约束的代码   并修复它。 (注意:如果你看到了   您不理解的NSAutoresizingMaskLayoutConstraints,请参阅   到UIView属性的文档   translatesAutoresizingMaskIntoConstraints)(       “”       “”       “”       “   (名称:'|':UIWindow:0x7fcbd3623630)>“,       “”)

     

将尝试通过违反约束来恢复   

     

在UIViewAlertForUnsatisfiableConstraints处创建一个符号断点   在调试器中捕获它。方法中的   在UIView中列出的UIConstraintBasedLayoutDebugging类别    也可能有所帮助。 2015-06-07 20:13:07.655   ZoomInZoomOut [7152:1435937]无法同时满足   限制。可能至少有一个限制因素   以下列表是您不想要的。试试这个:(1)看看每一个   约束并试图找出你不期望的东西; (2)找到   添加了不需要的约束或约束并修复它的代码。   (注意:如果您正在看到NSAutoresizingMaskLayoutConstraints,那么   不明白,请参阅UIView属性的文档   translatesAutoresizingMaskIntoConstraints)(       “”       “”       “< _UILayoutSupportConstraint:0x7fcbd347fb60 V:[_ UILayoutGuide:0x7fcbd3487f80(20)]>”,       “< _UILayoutSupportConstraint:0x7fcbd347e3f0 V:| - (0) - [_ UILayoutGuide:0x7fcbd3487f80](姓名:   '|':UIView:0x7fcbd3480a20)>“,       “< _UILayoutSupportConstraint:0x7fcbd347dd20 V:[_ UILayoutGuide:0x7fcbd34889a0(0)]>”,       “< _UILayoutSupportConstraint:0x7fcbd3481700 _UILayoutGuide:0x7fcbd34889a0.bottom == UIView:0x7fcbd3480a20.bottom>”,       “”       “   (名称:'|':UIWindow:0x7fcbd3623630)>“,       “”)

     

将尝试通过违反约束来恢复   

     

在UIViewAlertForUnsatisfiableConstraints处创建一个符号断点   在调试器中捕获它。方法中的   在UIView中列出的UIConstraintBasedLayoutDebugging类别    也可能会有帮助。

单击按钮时调用的代码:

    @IBAction func buttonClicked(sender: UIButton) {

    zoomedView.frame.size.height += 10.0
    zoomedView.frame.size.width += 10.0
    zoomedView.setTranslatesAutoresizingMaskIntoConstraints(true)
    zoomedView.superview?.updateConstraints()
}

Auto Layout Tutorial Part 2: Constraints我知道这个错误是由冲突的约束引起的。但我没有在代码中添加任何新约束。在故事板中,如果我调整绿色视图的大小,我会得到一个错误的视图,我通过更新约束来修复。这就是为什么我试图在代码中实现,但从上面得到错误。谁能解释我做错了什么?

0 个答案:

没有答案