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

テストのために、シーンをできるだけシンプルにしました。View Controller 上の 1 つのテキストフィールドです。

ここに画像の説明を入力

これにより制約エラーが発生するのはなぜですか?

4

1 に答える 1