Остановка пользовательского UIButton, сбрасывающего titleLabel к значению по умолчанию IB на увольнении события

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

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

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

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

Я пытался снять флажок 'Выделенный, Корректируют Изображение' в разделе Drawing (вкладка атрибутов) в Инспекторе, но поведение было все еще тем же.

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

7
задан Cœur 31 August 2017 в 04:02
поделиться

2 ответа

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

  • (void) setTitle: (NSString *) title forState: (UIControlState) state

Например

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

Дополнительные сведения см. В документации.

12
ответ дан 6 December 2019 в 21:09
поделиться

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

0
ответ дан 6 December 2019 в 21:09
поделиться
Другие вопросы по тегам:

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