UIButton не пойдет в Aspect Fit в iPhone

У меня есть пара UIB-кнопок, и в IB они установлены в Aspect Fit, но по какой-то причине они всегда растягиваются. Есть ли что-то еще, что вы должны установить? Я перепробовал все разные режимы просмотра, и ни один из них не работает, все они растягиваются.

100
задан TheNeil 22 May 2019 в 18:33
поделиться

3 ответа

У меня уже была такая проблема. Я решил ее, поместив изображение в UIImageView, где contentMode настройки действительно работают, и поместив прозрачную пользовательскую UIButton поверх этого.

EDIT: Этот ответ устарел. Смотрите ответ @Werner Altewischer для правильного ответа в современных версиях iOS.

43
ответ дан 24 November 2019 в 04:45
поделиться

У меня была такая же проблема, но я не мог заставить ее работать (возможно, это ошибка SDK).

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

-1
ответ дан 24 November 2019 в 04:45
поделиться

Режимы содержимого UIView применяются к соответствующему «содержимому» CALayer. Это работает для UIImageView s, потому что они устанавливают содержимое CALayer на соответствующее CGImage .

drawRect: в конечном итоге отображает содержимое слоя.

Пользовательский UIButton (насколько мне известно) не имеет содержимого (кнопки в стиле прямоугольника с закругленными углами могут отображаться с использованием содержимого). У кнопки есть подвиды: фон UIImageView , изображение UIImageView и заголовок UILabel . Установка contentMode в подпредставлениях может делать то, что вы хотите, но возиться с иерархией представлений UIButton - это немного недопустимо.

1
ответ дан 24 November 2019 в 04:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: