Я заметил изменение в том, как iOS 9 загружает/отображает представления по сравнению с предыдущими версиями iOS. Вот выход self.view.frame
в iOS 8.4
iOS 9 изменено поведение загрузки изображения
viewDidLoad {{0, 0}, {320, 504}}
viewWillAppear {{0, 64}, {320, 504}}
viewDidAppear {{0, 64}, {320, 504}}
И вот то же самое для iOS 9
viewDidLoad {{0, 0}, {320, 504}}
viewWillAppear {{0, 0}, {320, 504}}
viewDidAppear {{0, 64}, {320, 504}}
Обратите внимание, что в viewWillAppear
методе iOS 9
не удается обновить origin
из self.view.frame
.
Это вызывает определенные проблемы в моем приложении, так как представления изначально были неверными.
Кто-нибудь знает, если это предназначено или это дефект? И, возможно, быстро исправить?
Почему это изменение будет проблемой для вас ? Subviews должны располагаться на основе ограничений, а не фреймов, их родительского представления. Это не будет иначе. – rmaddy
Хорошая точка, только я обрабатываю позицию 'UITabBar' (показывая на некоторых экранах, скрываясь в других), что не является подзадачей' self.view'. Кроме того, «iOS 9» не может обновить размер представления, а также источник. – artooras
Вывод, который вы показываете, указывает, что размер вида обновлен. Это 504 в обеих версиях iOS. – rmaddy