Как изменить свойство textLabel в UIButton программно в iOS?

У меня есть UIButton , у которого должно быть 2 состояния – «Play» и «Pause»; т.е. – в первый раз пользователь видит, что он говорит «Воспроизвести», а затем всякий раз, когда пользователь нажимает на него, он должен переключаться между «Воспроизвести» и «Пауза».

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

Я использую:

 myButton.titleLabel.text = @"Play"; myButton.titleLabel.text = @"Pause"; 

Это не работает. Текст не меняется. Я также попробовал [myButton.titleLabel setText: @ "Пауза"], и он не работает.

Как я могу установить его?

3 Solutions collect form web for “Как изменить свойство textLabel в UIButton программно в iOS?”

Должен быть:

 [myButton setTitle:@"Play" forState:UIControlStateNormal]; 

Вам также нужно передать state . Вы можете проверить другое state здесь .

Затем вы можете сделать что-то вроде этого:

 [myButton setTitle:@"Play" forState:UIControlStateNormal]; [myButton setTitle:@"Stop" forState:UIControlStateSelected]; 

Я обнаружил, что это несколько устарело, поскольку добавленные строки добавлены. По-видимому, названия кнопок, назначенных в раскадровке, являются строками. Заголовки с атрибутами имеют приоритет над названиями NSString, поэтому, если вы хотите использовать простую строку в качестве заголовка, сначала нужно удалить присвоенный заголовок. Я сделал это, как показано ниже, хотя может быть и лучший способ. Разумеется, вы можете сделать свой новый заголовок также атрибутной строкой.

 [myButton setAttributedTitle: nil forState: 0xffff]; [myButton setTitle: @"Play" forState: UIControlStateNormal]; 

И если вы хотите загрузить его на загрузку страницы и поддерживать локализованный язык:

 -(void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; if (self.flagToChangeLabel){ NSString* newBtnTitle = NSLocalizedString(@"LOCALIZED_KEY", nil); [self.laterButton setTitle:newBtnTitle forState:UIControlStateNormal]; [self.laterButton setTitle:newBtnTitle forState:UIControlStateSelected]; } } 
  • Нет кнопки Round Rect в Xcode 5?
  • Обрезанное название UIButton
  • Создание UIButton Wrap после UILabel
  • Удалить подчеркивание на UIButton в iOS 7
  • Добавить свойство строки в UIButton в Swift
  • Использование PDF-файлов для изображений значков в Xcode 7.2
  • Рисование backgroundcolor & border Vs Background PNGs
  • Могу ли я заменить * UILabel на UIButton на FXLabel?
  • UIImage от UIColor с альфой
  • Сделать UIButton действовать как навигационный контроллер
  • Отключить взаимодействие пользователя с tabBar
  • Interesting Posts

    как отображать файлы из общего доступа к файлам в Swift 3

    iOS Push Notifications – обновить значок без предупреждения?

    как заказать последовательности тестовых тестов kif?

    iOS: удалите текст с кнопки «Назад», удерживая значок

    Пример тестирования устройства с помощью OCUnit

    Сравнение NSString Где @ "" == nil

    Как использовать акселерометр для рисования на экране в iphone?

    Как играть музыку в фоновом режиме iphone sdk

    Как написать единичный тест для NSNotification

    Apple Mach-O Linker (ld) Группа ошибок с Swift 3 и Xcode 9 GM

    iOS: какой самый быстрый, самый эффективный способ сделать скриншот программным путем?

    Еще один уровень масштабирования MKMapView и автономные карты

    Отсортировать даты с шкафами, чтобы теперь сначала и в прошлом внизу

    Как заставить UITextView обнаруживать ссылки на сайт, почту и номер телефона

    Наблюдатель никогда не удаляется из NSNotificationCenter

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.