Объявите выход:
@property(nonatomic,weak) IBOutlet NSLayoutConstraint *buttonWidthConstraint;
Перейти к СИБ. Выберите свою кнопку и нажмите ее ширину (Editor - Pin - Width). Это добавит ограничение ширины в ограничения кнопок. Подключите вновь созданное ограничение к выходу выше.
И щелчка кнопки события:
- (IBAction)buttonDidClick:(id)sender
{
[self.buttonWidthConstraint setConstant:300]; // set new width
}
UPD: Идея заключается в том, что автоматическая компоновка двигателя перезаписывает просмотр кадров каждый раз, когда это необходимо, поэтому изменения вручную, как [вид setFrame:] не применяются. Таким образом, единственный способ изменить некоторые свойства макета - это работать на уровне макета. Компоновка ограничение только формула, как:
item1.attr1 {== | <= | >=} multiplier * {item2.attr2 | none} + constant
В вашем случае, это ограничение так же просто, как MyButton.width = 1 * (none) + 70
, где 70 является оригинальной шириной предложенной Xcode.