Остановка пользовательской кнопки UIB, сбрасывающей titleLabel в значение по умолчанию IB при срабатывании события - PullRequest
7 голосов
/ 09 июля 2010

В IB у меня есть представление с UIButton типа Custom, у него нет изображения, и заголовок установлен как "#placeholder"

Представление присоединено к классу, который обеспечивает IBOutlet иIBAction для кнопки.

Я устанавливаю название кнопки следующим образом: ViewClass.ButtonOutlet.titleLabel.text = @"%@",stringifiedVariable; всякий раз, когда мне нужно.

Это работает нормально.Однако, когда я нажимаю кнопку, titleLabel.text возвращается к «#placeholder».

Я попытался снять отметку с «Highlighted Adjust Image» в разделе «Рисование» (вкладка «Атрибуты») в Инспекторе, но поведение по-прежнему былото же самое.

Можно ли предотвратить это изменение?или есть лучший образец, который я должен использовать?

Ответы [ 2 ]

12 голосов
/ 09 июля 2010

У UIButton есть специальный метод для установки метки.

  • (void) setTitle: (NSString *) title forState: (UIControlState) состояние

Например

NSString *buttonText = [NSString stringWithFormat:@"%@",stringifiedVariable];
[ViewClass.ButtonOutlet setTitle:buttonText forState:UIControlStateNormal];

Более подробную информацию смотрите в документации.

0 голосов
/ 09 июля 2010

Если вы хотите, чтобы текст не изменялся при нажатии на него, самый простой способ - вынуть заголовок кнопки в IB, а затем использовать метод setTitle: forState: из Jongsma.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...