无法通过id找到约束
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法通过id找到约束相关的知识,希望对你有一定的参考价值。
我有一个Center X Alignment Constraint
按钮,这个约束的identifier
是"constBtnSound"
。
我试图用以下代码获取此constraint
但无法找到它。
for const in btnSound.constraints {
if const.identifier == "constBtnSound" {
...
}
}
约束的属性:
按钮的所有约束:
答案
这是the UIView.addConstraint
documentation所说的:
约束必须仅涉及接收视图范围内的视图。具体而言,涉及的任何视图必须是接收视图本身或接收视图的子视图。
由于button.superview
不是button
并且不是button
的子视图,因此button
不能保留约束。
由于button
是button.superview
的子视图,因此约束可以由button.superview
(或button.superview
的任何祖先)保留。
但是,您可以为它创建一个插座,而不是按ID搜索约束:
@IBOutlet var buttonXCenterConstraint: NSLayoutConstraint!
将插座连接到故事板中的约束。
以上是关于无法通过id找到约束的主要内容,如果未能解决你的问题,请参考以下文章