Почему UIButton изменяет размер при доступе к свойству titleLabel?

Я пытаюсь настроить размер кнопки (это внутренний размер + немного больше), чтобы нарисовать собственный фон. Тем не менее, каждый раз, когда я получаю доступ к self.titleLabel внутри кнопки, размер и позиция переходят к размеру раскадровки. Мне не нужно ничего делать с ярлыком, чтобы воспроизвести это, просто извлеките его из кнопки.

Я поставил код регистрации на всем протяжении своей кнопки и контроллера просмотра, чтобы найти, где это происходит. Это происходит не из ретрансляции из подзонов или любого другого уведомления, которое я вижу, чтобы попасть в контроллер представления. Линия перед доступом к titleLabel, позиция и размер являются правильными. Линия после, она вернулась к позиции раскадровки. Комментирование доступа предотвращает привязку размера / позиции. Может ли кто-нибудь сказать мне, где и почему это происходит?

У меня нет ограничений (я могу сказать), но я борюсь с авто-макетом здесь? Должен ли я делать это иначе, как составление элементов управления или что-то еще?

Что-то подобное (или то же?) Было задано ранее, когда UIButton изменил заголовок, похоже, изменил его фрейм, а UIButton titleLabel изменился на печать? , но оба остались без ответа или объяснены просто «может быть, ошибка».

Если в проекте включена автоматическая компоновка, тогда ДА, вы боретесь с автоматической компоновкой. У вас есть два варианта: либо подкласс UIButton, чтобы вы могли переопределить расчет собственного размера, либо изменить ограничения, чтобы внутренний размер не использовался в каких-либо ограничениях. Если вы сделаете последнее, то вы, вероятно, захотите создать IBOutlet для ограничения ширины, чтобы вы могли при необходимости изменить свойство constant .

Это не ошибка, это следствие автоматической компоновки. При использовании автоматической компоновки вы не должны устанавливать какие-либо фреймы. Вместо этого вы должны изменить размер или положение, изменив ограничения. Что происходит, так это то, что всякий раз, когда представление нужно перерисовать, кадр возвращается к кадру, который определяется ограничениями.

Interesting Posts

Ссылки на приложение Facebook не открывают мое приложение

Цель-C Написание общих методов получения и установки

Ошибка iOS: библиотека не загружена mremap_encrypted

searchBarTextDidBeginEditing метод делегата, вызываемый два раза

Кнопка FaceBook Custom Like в iOS

Быстрая проблема с использованием max () и min () последовательно при архивировании на Xcode

Получение текущего времени, когда устройство закрывается

* Отсутствие права на уведомление о выпуске Push * для локальных уведомлений

Вставить кнопку «Загрузить на iTunes» в приложении

Как я могу проверить, имеет ли пользовательский расширение клавиатуры ios8 открытый доступ?

Использование 'stringWithString:' с литералом избыточно

Как я должен понимать «Сохранить для развертывания разработки» в приложении Xcode для iOS?

Невозможно отключить «AnyObject» при анализе массива JSON

Интерфейс стиля iOS iOS

Статическая связь с Swift, XCode6-Beta

Давайте будем гением компьютера.