2015-09-23 34 views
0

我使用AutoLayout和我的应用程序中使用Swift 2.0编写的代码并使用Cartograph来帮助约束。 但是,有东西阻止我的应用程序,否则,我用它来以编程方式添加视图。无法同时满足约束条件 - 制图

func addButtonOne() -> Void { 
    buttonOne = UIButton() 
    buttonOne.backgroundColor = UIColor.greenColor() 
    self.view.addSubview(buttonOne) 

    constrain(buttonOne, view) { buttonOne, view in 
     buttonOne.left == view.right - 12 
     buttonOne.right == view.left + 12 
     buttonOne.bottom == view.bottom - 12 
    } 

} 

但编译后,将返回:

2015-09-23 00:54:24.489 Fun With Swift[24809:2358352] Unable to simultaneously satisfy constraints. 
    Probably at least one of the constraints in the following list is one you don't want. 
Try this: 
(1) look at each constraint and try to figure out which you don't expect; 
(2) find the code that added the unwanted constraint or constraints and fix it. 
(Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, 
refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints) 

(
"<NSLayoutConstraint:0x7afe2160 H:[UIView:0x7afdfe90]-(-12)-[UIButton:0x7afe13b0](LTR)>", 
"<NSLayoutConstraint:0x7afe2730 UIButton:0x7afe13b0.right == UIView:0x7afdfe90.left + 12>", 
"<NSLayoutConstraint:0x7b0866e0 'UIView-Encapsulated-Layout-Width' H:[UIView:0x7afdfe90(320)]>" 
) 

任何人都知道我能做些什么?这是一个不同的问题,因为我使用了一个库。

+0

可能重复:什么创造了约束名为UIView-Encapsulated-Layout-Width&Height?](http://stackoverflow.com/questions/23308400/auto-layout-what-c​​reates-constraints-named-uiview-encapsulated-layout-width-h) – jtbandes

+0

我使用Swift和一个库来做到这一点。 –

+0

我不认为图书馆是这里的问题。 – jtbandes

回答

0

的附加约束代码应该像下面

constrain(buttonOne, view) { buttonOne, view in 
      buttonOne.left == view.left + 12 
      buttonOne.right == view.right - 12 
      buttonOne.bottom == view.bottom - 12 
     } 

如果您需要在底部的按钮,左右12磅保证金和[自动布局的底部

相关问题