IPhone: что вызывается после viewDidLoad перед представлениемWillAppear?

Действительно странное поведение здесь. У меня есть представление со списком прокрутки внутри, в котором содержится мой интерфейс.

В моем viewDidLoad я установил кадр моего scrollView в начало 0,0.

Я записываю начало в конце моего viewDidLoad, и он 0. Однако в начале моего viewWillAppear начало координат -20. Кто-нибудь знает, какой метод можно вызвать, чтобы это сделать?

Заранее спасибо

Ответ 1

Если вы хотите узнать, что это может быть, вы можете попробовать зарегистрировать свое мнение для наблюдения за ключевым значением, как описано здесь: http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/KeyValueObserving/KeyValueObserving.html

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

Ответ 2

Вы правы с текущим приоритетом метода:

-(void)loadView;
-(void)viewDidLoad;
-(void)viewWillAppear;
-(void)viewDidAppear;

Возможно, есть вызов поворота или какой-либо другой метод, например, didRotateToInterfaceOrientation;? Кроме того, является ли эта часть прокрутки частью контроллера, загруженного из файла nib?

Ответ 3

20-пиксельные несоответствия и файлы nib всегда кажутся горем, но с интерфейсом Builder и барами состояния. Вы настраиваете наконечник с тем же статусом состояния, что и вы используете в своем приложении?

Если вы скрыли свою строку состояния в своем приложении, вы сделали то же самое в Interface Builder?