2013-07-11 3 views
0

У меня есть вид с рядом кнопок друг под другом, когда выбрана одна из кнопок. Мне нужно программно добавить другую кнопку в верхней части всех остальных кнопок а затем измените высоту всех кнопок, чтобы в нижней части экрана не было места.iOS Переопределить автоматическую компоновку для определенных компонентов/объектов в представлении

Проблема заключается в том, что для этого вида включена автоматическая компоновка, но из-за этого я не могу изменить размер или изменить положение кнопок.

Мой вопрос: как я могу «переопределить» автоопределение определенных объектов в представлении (кнопках), чтобы изменить их макет при выборе кнопки.

Благодаря

ответ

1

Autolayout способен прецеденте вы описываете. Высота просмотров может сжиматься, чтобы освободить место для еще одной кнопки.

Используйте - (void)setContentCompressionResistancePriority:(UILayoutPriority)priority forAxis:(UILayoutConstraintAxis)axis на каждой из кнопок и установите приоритет на низкое число (то есть < 250). Поскольку у вас есть вертикальная строка, ось будет UILayoutConstraintAxisVertical.

Вам нужно будет позвонить -setNeedsUpdateConstraints над списком всех ваших кнопок, чтобы новые ограничения отображались.

Смежные вопросы