как изменить ограничения автозапуска

#ios #autolayout

#iOS #автозапуск

Вопрос:

Я столкнулся с проблемой, связанной с автозапуском. допустим, я создаю view1 и view2, а view2 является подвидом view1. Я создаю между ними ограничения справа, слева, сверху, снизу.

Затем, по мере увеличения содержимого в view2, высота view2 также должна увеличиваться. Высота view1 должна увеличиться, чтобы сохранить нижнее ограничение между ними.

Итак, что мне теперь делать? увеличьте высоту фрейма обоих, чтобы одновременно отображать новое содержимое и сохранять ограничения?

Я думаю, что я все еще плохо понимаю автозапуск и фрейм, кто-нибудь может дать мне несколько советов, спасибо.

Обновить:

Фактически View2 — это UICollectionView, и я хочу увеличить его высоту, чтобы показать все ячейки без прокрутки. По мере роста данных мне приходится увеличивать размер View2.

Комментарии:

1. Что увеличит размер View2?

2. пока в нижней части view1 нет ограничений, сохраняющих его фиксированный размер, view2 должен иметь возможность нажимать view1 вниз, если содержимое view2 правильно изменяет размер view2

3. @Mr.UB фактически View2 — это UICollectionView, и я хочу увеличить его высоту, чтобы показать все ячейки без прокрутки. По мере роста данных мне приходится увеличивать размер View2.

4. @Fonix в нижней части view1 есть ограничение, о котором я не упоминал, в противном случае IB сообщит об ошибке, связанной с автозапуском.

5. высота представления коллекции не может быть изменена в соответствии с ячейками в нем, вам нужно выполнить некоторые программные действия, а не только автозапуски.

Ответ №1:

Чтобы увеличить высоту view1 при увеличении высоты view2, сначала вы можете задать 0 начальных, верхних, конечных, нижних ограничений для view2, которые находятся внутри view1, и ограничение высоты для view2, но не для view1, поэтому, когда высота view2 увеличивается, высота view1 будет увеличена какчто ж.