2015-04-21 3 views
2

В моем приложении многие контроллеры представлений имеют Container View, содержащий своего рода «панель мониторинга», с несколькими кнопками и ярлыками, которые используются во всем приложении. Когда segueing между двумя контроллерами зрения, что обычно случается:Просмотр жизненного цикла в iOS 8.3

1) the new view controller's viewDidLoad is called; 
2) the new view controller's viewWillAppear is called; 
3) the dashboard's viewDidLoad is called (there is an automatic segue to it, since it's inside a Container View); 
4) the dashboard's viewWillAppear is called; 

Теперь в методе viewWillAppear приборной доски, я некоторое форматирование различных меток (изменение их текст и цвета). Однако в iOS 8.3 это, кажется, не имеет никакого эффекта. Например, я делаю следующее, чтобы изменить метку кнопки щелкните кнопку:

self.myButton.titleLabel.text = @"myText"; 

и все же, сразу после выполнения этой команды, делая

(lldb) po self.myButton.titleLabel.text 

в подсказке отладчика, будет выводить предыдущее содержимое метки этой кнопки (из раскадровки) вместо «myText». Излишне говорить, что все работает отлично до iOS 8.2 (включая iOS 7).

Итак, мой вопрос: было ли что-то изменено на уровне жизненного цикла view/segue в iOS 8.3?

ответ

0

Чтобы изменить название кнопки, вы должны использовать [myButton setTitle:forState:]. Если это сработало раньше, то это было просто удачей.

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