Краткая версия: создание ограничения 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 текстовое поле на контроллере представления:
Почему это вызывает ошибку ограничения?