2014-01-31 2 views
0

Я Установка кадра UITableViewController «s в viewDidAppear следующим образом:Установка self.view.frame после возвращения не работает

self.view.frame = CGRectMake(0.0, 0.0, 320.0, 468.0); 

Первоначальная высота кадра 516.0.

Первоначально это нормально работает, и рамка меняется. Тем не менее, когда я вернусь к этому контроллеру вида (он находится в UINavigationController), кадр не меняется (говорит на 516.0 несмотря на то, что линия действительно вызывается при возвращении.

Что вызывает кадр не менять второй раз контроллер показан и как вы это исправить?

ответ

0

viewDidAppear не будет вызываться, когда вы закроете вид модальный. Подумайте модальное зрение, как вид сверху на представлении.

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

+0

Это называется. Я установил точку останова, и это называется, когда я возвращаюсь. – BytesGuy

0

Это происходит из-за автоотключения. Отключить флажок автоотключения в xib или раскадровке. Тогда это сработает.

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