短いバージョン: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
テストのために、シーンをできるだけシンプルにしました。View Controller 上の 1 つのテキストフィールドです。
これにより制約エラーが発生するのはなぜですか?