Время от времени у меня есть подзаголовок, который я хотел бы удалить из макета. Он не только должен быть скрыт, но и не должен считаться частью представления "поток", так сказать. Пример:
Я ищу стратегию, чтобы скрыть оранжевый вид программно. Расположение ящиков и их содержимое осуществляется через автозапуск. Следует отметить две вещи:
- оранжевая рамка определяет ее вертикальную высоту, основанную на содержании, а также некоторые верхние/нижние смещения для полей. Таким образом, установка текста меток на nil будет только "сжимать" представление до его внутренних полей, он не будет иметь высоту 0.
- Аналогичным образом, вертикальное расстояние между тремя полями означает, что даже если высота оранжевого ящика равна 0, промежуток между красным и желтым будет в два раза больше, чем требуется.
Возможное решение
Мое лучшее предложение - добавить ограничение в оранжевый ящик, установив его высоту в 0. Для этого мне нужно использовать неосуществленные приоритеты для всех вертикальных ограничений внутри оранжевого поля. В то же время контейнер должен обновлять константу для ограничения, которое разделяет поля. Мне не нравится такой подход, так как класс оранжевого ящика определяет его внутренние ограничения с учетом поведения супервизора. Возможно, я мог бы жить с ним, если вместо оранжевого окна будет представлен метод "свернуть", который добавит ограничение на высоту 0.
Есть ли лучший подход?