Как динамически добавлять представление с помощью автоматической компоновки

#ios #swift #xcode #autolayout

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

Вопрос:

У меня есть этот вид (розовый) в scrollview :

введите описание изображения здесь

Я хочу это :

когда я нажимаю кнопку «Добавить», отображается кнопка «новый элемент», и когда я повторно нажимаю кнопку «Добавить», кнопка «новый элемент» скрывается, но я также хочу это :

когда видна кнопка «новый элемент», высота розового вида такая же, как на фотографии, но когда кнопка «Новый элемент» не видна, розовый вид предназначен для уменьшения высоты, но я не могу установить эту ситуацию с помощью автоматической компоновки.

Можете ли вы мне помочь?

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

1. Вы могли бы добавить ограничения в редакторе раскадровки, чтобы они соответствовали одному из ваших состояний. Затем поместите ограничения, которые вы должны отредактировать для достижения вашего второго состояния, в свой класс ViewController в качестве выходных данных. И в этих выходах вы можете программно установить значение ограничений.

Ответ №1:

Вы можете попробовать что-то вроде этого: кнопка нового элемента имеет логическое значение «isHidden» в случае true или false, просто установите высоту вашего розового вида (pink.frame.size.height), если кнопка скрыта, уменьшите высоту, если не скрыта, увеличьте высоту

 if newElementButton.isHidden { pinkView.frame.size.height = 50 }
 else { pinkView.frame.size.height = 100 }