Что происходит с ограничениями, когда представление начинает скрываться? - PullRequest
0 голосов
/ 10 мая 2018

Вопрос очень похож на это , но мне интересно, что произойдет, когда UIView изменит isHidden значение.

Например: | | | -[ViewA]-[ViewB]-[ViewC]- | | |

на тяге:

[X] -> просмотров

| и - -> ограничения

Что происходит, когда: ViewB.isHidden = true Как исправить дескриптор, показывающий / скрывающий подпредставления (без UIStackView) в коде? Должен ли я вручную устанавливать ограничения на активное / неактивное?

1 Ответ

0 голосов
/ 10 мая 2018

Обычно скрытие вида (путем установки isHidden) не влияет на макет.Скрытые виды участвуют в макете.Любые ограничения, связанные с представлением, все еще применяются.Область, занимаемая скрытым видом, по-прежнему зарезервирована для него.

Это полезно, поскольку позволяет использовать скрытые виды в качестве «проставок» для создания макетов (в Интерфейсном Разработчике), которые невозможно создать иначе.(В коде вы можете использовать UILayoutGuide s вместо скрытых представлений, но IB не поддерживает создание направляющих.)

UIStackView отличается от других представлений.UIStackView наблюдает свойство isHidden каждого из его упорядоченных подпредставлений.Когда isHidden упорядоченного подпредставления изменяется, UIStackView обновляет ограничения, чтобы создать или удалить область, используемую этим подпредставлением.

Ни одно другое представление не делает то, что делает UIStackView, поэтому никакое другое представление не регулирует макетего подпредставления, когда они становятся скрытыми или видимыми.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...