Кадр iOS 7 возвращает неправильную высоту

Я только что наткнулся на странную проблему при тестировании своего приложения с помощью Xcode 5 и iOS 7 SDK. По какой-то причине self.view.frame возвращает неправильную высоту для моего представления в viewWillAppear.

Тестирование в Xcode 5 с 4-дюймовым симулятором iPhone Retina возвращает {{0, 0}, {320, 568}}, хотя мой UIViewController встроен в UINavigationController.

Тестирование в Xcode 4 с 4-дюймовым симулятором iPhone Retina возвращает {{0, 0}, {320, 504}}, что, на мой взгляд, является правильной высотой при включении в UINavigationController.

Я провел тесты с голым проектом контроллера с одним представлением и раскадровкой.

Есть идеи? Когда кому-то понадобится дополнительная информация - просто спросите - я предоставлю ее как можно скорее.

Ваше здоровье.


person Bins Ich    schedule 29.07.2013    source источник


Ответы (1)


Если вы помните видеоролики WWDC, представления теперь выполняются под полупрозрачными панелями навигации и строкой состояния, поэтому вы ожидаете, что представление будет на всю высоту экрана.

person Abizern    schedule 29.07.2013
comment
так как мы справляемся с этим. Я только что отключил полупрозрачную опцию в своей раскадровке, но ничего не происходит. - person Bins Ich; 29.07.2013
comment
ОК, понял - сначала нужно было очистить проект. Спасибо за вашу помощь. - person Bins Ich; 29.07.2013
comment
Не могли бы вы, ребята, указать номер сеанса, в котором описано это поведение iOS7? - person Stanislav Pankevich; 01.09.2013
comment
В моем случае (Xcode 5 и тестирование телефонов с сетчаткой 3,5 и 4) я испытываю эти различия в кадрах, но по-другому. Когда в viewDidLoad и кадр, и границы равны {{0, 0}, {320, 568}}, что, как мне кажется, является правильным значением. Но затем я вызываю presentViewController, и когда я возвращаюсь и закрываю это модальное окно, кадр {{0, 64}, {320, 504}}, а границы - {{0, 0}, {320, 504}}. Я до сих пор не знаю причину. - person Ferran Maylinch; 17.03.2014