self.view.frame.height = 460 в iPhone5

Я обновляю свое приложение для 4-дюймового экрана iPhone5.

Однако я обнаружил, что только в моем корневом представлении (представлении моего rootViewController, контроллера навигации) значение self.view.frame.height равно 548 (показывает строку состояния), что мне и нужно.

Как только я нажимаю любой viewController в стеке навигации, значение self.view.frame.height в нажатом viewController становится равным 460, кажется, что viewController не знает, что он работает на iPhone5.

Чтобы было ясно, я почти не использую файлы xib. На самом деле я только что создал пустые xib-файлы, как показано на рисунке ниже. Все кнопки, таблицы и другие подвиды добавляются вручную в методе viewDidLoad каждого viewController.

Мои пустые файлы пера

Я добавил в проект файл [email protected] для настройки iPhone5, но я не вносил никаких других изменений в настройки своего проекта или файлов xib.

Значение 460 для self.view.frame.height неправильно повлияет на позиции некоторых подпредставлений в представлении viewController на 4-дюймовом экране, но я не нашел способа заставить его понять, что значение на самом деле должно быть 548.

Как мне поступить? Есть ли какой-либо шаг, который я пропустил при настройке 4-дюймового экрана? Большое спасибо!


person Wang Liang    schedule 15.04.2013    source источник


Ответы (1)


Выберите раскрывающийся список «Размер» на вкладке «Смоделированные показатели».

Раскрывающийся список размеров

Затем измените выбор на «Retina 4 Full Screen» и все готово.

person Necro    schedule 15.04.2013
comment
Но мое приложение также должно поддерживать 3,5-дюймовые экраны. Если я изменю его на Retina 4 Full Screen, что произойдет, когда оно будет работать на устройствах с 3,5-дюймовым экраном? - person Wang Liang; 15.04.2013
comment
Вам нужно добавить отдельные файлы xib для поддержки отдельных устройств. - person Necro; 15.04.2013
comment
Пример этого можно увидеть в файле AppDelegate.m рядом со строкой 38. - person Necro; 15.04.2013
comment
спасибо за информацию, но на какой файл AppDelegate.m вы ссылаетесь? - person Wang Liang; 15.04.2013
comment
Вы должны быть в состоянии найти его с другими вашими файлами классов. Какой проект вы создали с самого начала? он должен быть там автоматически, если вы использовали какие-либо шаблоны проектов на вкладке IOS/Applications. - person Necro; 15.04.2013
comment
Выполните поиск в дереве файлов папки вашего приложения, чтобы попытаться найти его, если оно не отображается в проводнике файлов проекта. - person Necro; 15.04.2013