2016-01-21 2 views
1

У меня возникает странная проблема, когда я не могу изменить заголовок UIButton, определенный в раскадровке. Кнопка встроена в представление стека в виде прокрутки. Обратный вызов кнопки выполняется правильно и вызывает точку останова, но заголовок не может быть изменен.iOS 9.2 не может изменить название UIButton программно, как только он установлен в раскадровке

Я пробовал разные состояния, кроме нормальной, но это, кажется, не имеют никакого эффекта:

[self.button setTitle:[NSString stringWithFormat:@"test %i",1] forState:UIControlStateNormal]; 
[self.button setNeedsLayout]; 
[self.button layoutIfNeeded]; 

enter image description here

ответ

1

:(Оказывается, я скопировал кнопку с одного контроллера на другой вид (тот же вид класс контроллера в инспекторе идентификации), и все выходы отображались как правильные. Однако, похоже, что они прослушиваются в таком случае. Вручную удаляем каждую кнопку обратного вызова, а IBOutlet и повторное подключение решают проблему.

Чтобы уточнить: чтобы узнать, есть ли у вас такая же проблема, установите контрольную точку и проверьте, нет ли ссылки на кнопку. Если он равен нулю, и вы видите, что розетка установлена ​​в раскадровке, удалите выходное соединение и снова подключите его.

+1

+1 повод сделать все код пользовательского интерфейса программно и попрощаться с IB навсегда ...: D Просто подождите, пока это не произойдет с вами в момент выхода в крайний срок для чего-то очень важного, и вы никогда не вернетесь – CommaToast

Смежные вопросы