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?