简短版本:创建NSLayoutAttributeCenterX
约束始终会导致约束失败。为什么呢?
我有一个UITextField
子类,其行为与搜索文本框相同。您点击该框并显示项目列表,项目将按您键入的内容进行过滤。像这样:
UITextField
子类负责创建和显示项目视图。列表的中心应与文本字段的中心匹配。所以,我设置了这样的约束:
NSLayoutConstraint *hugCenter =
[NSLayoutConstraint constraintWithItem:self.searchContainerView
attribute:NSLayoutAttributeCenterX
relatedBy:NSLayoutRelationEqual
toItem:self
attribute:NSLayoutAttributeCenterX
multiplier:1.0
constant:0.0];
这总是会导致错误:
将尝试通过违反约束来恢复 NSLayoutConstraint:0x9a5e1a0 UIView:0x9a5ba40.centerX == SearchTextField:0x7154a40.centerX
为了测试我让我的场景尽可能简单 - 视图控制器上的1个文本字段:
为什么会导致约束错误?
答案 0 :(得分:0)
你错过了setTranslatesAutoresizingMaskIntoConstraints:
吗?