Да, вы можете отображать изображение и заголовок в одной и той же кнопке, если они оба достаточно малы, чтобы уместиться.Тяжелая часть наступает, когда вам нужно разобраться с размещением.
Вы можете играть со свойствами contentVerticalAlignment
и contentHorizontalAlignment
UIButton
(унаследованными от UIControl
).
Вы также можете использовать свойства titleEdgeInsets
и imageEdgeInsets
, чтобы сместить заголовок и изображение из расположения, которое они получают, на основе свойств выравнивания.
Если вы хотите очень точное или нестандартное размещение, я предлагаю переопределитьtitleRectForContentRect:
и imageRectForContentRect:
методы UIButton
.Они позволяют вам определить рамки для вашего заголовка и изображения, и они вызываются всякий раз, когда нужно расположить кнопку.Одно предупреждение, если вы хотите сослаться на self.titleLabel
внутри titleRectForContentRect:
, убедитесь, что сначала определен self.currentTitle
.Я получил ошибку неверного доступа, возможно, метод вызывается при первой инициализации titleLabel.