Я использовал раскадровку для компоновки пользовательской ячейки в виде таблицы. У меня есть пользовательский интерфейс в этой пользовательской ячейке, у которой есть начальный размер x, y 60x7. Эта кнопка пользовательского интерфейса (как и все объекты в раскадровке) использует автоматическую компоновку с классами размера.Изменение размера рамки UIButton при использовании классов классов Требуется автоматическая компоновка
Когда пользователь нажимает кнопку редактирования в представлении, я хотел бы изменить размер UIButton в каждой ячейке равным 60x60. Различные StackOverflow решения для изменения размера UIButton сделать что-то вроде следующего:
CGRect buttonFrame = cell.button1Left.frame;
buttonFrame.size = CGSizeMake(60, 60);
cell.button1Left.frame = buttonFrame;
Но решения также предупреждают, что это не будет работать, если не отключить автоматическую раскладку. Однако, когда я пытаюсь отключить автоматическую раскладку для этого UIButton в пользовательской ячейке, я получаю следующее предупреждение:
Это предупреждение меня пугает. Если я отключу классы размера, это испортит мой макет, отключит мой segues и затруднит будущие изменения? Если да, есть ли другой способ выполнить то, что я пытаюсь?
Бонусный вопрос: возможно ли анимировать изменение размера UIButton (то есть, чтобы оно растягивалось до большего размера)?
Я получаю суть того, что вы предлагаете, но не совсем согласуется с моей ситуацией. Когда я говорю, что пользователь нажимает кнопку редактирования, ее не такая же кнопка, как та, которая должна быть изменена. Поэтому у меня нет действия, которое идентифицирует кнопку в качестве отправителя. Кроме того, не будет ли ваше предложение требовать подключения IBOutlet на раскадровке? Я попытался установить соединение, но он не распознает подключаемый объект для ячейки. Кажется, что мне нужно, чтобы эти IBOutlets были частью подкласса UIButton, который я пытаюсь изменить. Мысли? – JeffB6688
@ JeffB6688 Вы уверены, что добавляете ограничения на кнопку до поиска подключаемых объектов? Вы можете сохранить ссылки на все свои кнопки в некотором 'NSMuttableArray * myBtns'. И когда будет нажата кнопка редактирования '[myBtns makeObjectsPerformSelector: @selector (..)]; ' – Ptah
Да, у меня уже были ограничения для ширины и высоты для UIButton. Поэтому я не добавил новых. Хотя я не использовал ваш ответ, он дал мне пищу для размышлений (особенно в отношении анимации). Так что спасибо за это. – JeffB6688