【发布时间】:2016-11-17 16:55:58
【问题描述】:
我在情节提要中有 2 个具有不同约束的按钮。 在我的代码中,我必须告诉我的第一个按钮采用与第二个按钮相同的约束(高度、宽度、和位置)但我不知道如何做到这一点而不必通过“子视图”。我的按钮有 2 个插座。
@IBOutlet weak var likesButton: UIButton!
@IBOutlet weak var shareButton: UIButton!
我的界面是这样构建的:
-
VIEW
a)...View
b)...View
c) ContentView
1)likeButton
2)shareButton
3)...
d)...
我试过这样:
self.contentView.translatesAutoresizingMaskIntoConstraints = false
self.shareButton.removeConstraints(self.shareButton.constraints) // Old Constraints
self.shareButton.addConstraints(self.likeButton.constraints) // New Constraints
self.shareButton.updateConstraintsIfNeeded()
self.shareButton.layoutIfNeeded()
在我出现这个错误之后:
*** Terminating app due to uncaught exception 'NSGenericException', reason: 'Unable to install constraint on view. Does the constraint reference something from outside the subtree of the view? That's illegal. constraint:<NSLayoutConstraint:0x14cfe7600 H:[UIButton:0x14cfb7bd0(40)]> view:<UIButton: 0x14e30fa60; frame = (494 528; 26 31); opaque = NO; autoresize = RM+BM; layer = <CALayer: 0x14e30f410>>'
提前致谢。
【问题讨论】:
-
约束被添加到超级视图中,该视图包含您尝试添加约束的视图,而不是视图本身。
-
好的,但是我说将约束添加到 shareButton 而不是视图?
标签: ios swift uibutton constraints constraint-programming