Я модифицировал программно один ограничитель автоопределения. Он действует на один определенный вид, но другие представления, ограниченные другими ограничениями для этого представления, не меняют своих позиций. Существует ли метод updateAllConstrains?
Как я могу инициировать обновление всех ограничений автоопределения?
Ответ 1
Проблема заключалась в том, что ограничения не были настроены правильно, и в этом случае может помочь не setNeedsLayout или updateConstraintsIfNeeded.
Ответ 2
Вызовите эти два метода в представлении, которое хотите обновить:
-setNeedsLayout
-layoutIfNeeded
Первый говорит системе макета, что это представление должно быть изложено, потому что оно имеет некоторые изменения и все должно быть пересчитано. Второе усилие, которое теперь будет выполнять система компоновки, система компоновки запускается в определенное время во время выполнения, с помощью этого метода вы говорите: "сделайте это сейчас".
Ответ 3
Да Существует метод UIView, который называется - (void)updateConstraintsIfNeeded
Однако я не думаю, что это ваша проблема.
Ответ 4
Лучшее, что я нашел, это:
-
Выберите элементы, которые вы хотите "вернуть" к вашим ограничениям
-
Верхнее меню: редактор/обновление фреймов (или/) ярлык: команда + опция + =
Мы надеемся, что это поможет