【发布时间】:2015-09-23 04:11:43
【问题描述】:
我在使用 Swift 2.0 编写的应用程序中使用 AutoLayout 和代码,并使用 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)]>"
)
有人知道我能做什么吗?这是一个不同的问题,因为我使用了一个库。
【问题讨论】:
-
没有。我正在使用 Swift 和一个库来做到这一点。
-
我不认为图书馆是这里的问题。
-
问题出在这两个关系 buttonOne.left == view.right - 12 buttonOne.right == view.left + 12. buttonOnce 怎么才能让 view.right 和 buttonOne.right 和 view.留下相关的?
标签: swift autolayout