1

简短版本:创建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 个文本字段:

在此处输入图像描述

为什么这会导致约束错误?

4

1 回答 1

0

你错过了setTranslatesAutoresizingMaskIntoConstraints:某个地方吗?

于 2013-03-22T23:14:27.833 回答