Я пытаюсь создать приложение iPhone, которое всегда находится в ландшафтном режиме, используя шаблон приложения Utility. Вот что я сделал:iPhone-приложение для использования только для ландшафтных приложений
- Создать новый проект iPhone приложения, используя шаблон утилиты Application
- В Interface Builder, вращать все мнения 90 градусов.
- В Interface Builder добавьте метку в середину MainView. Протяните его по всему виду, установите выравнивание по центру и установите пружины автозапуска так, чтобы он мог растягиваться горизонтально.
- В Info.plist, добавьте ключ "UIInterfaceOrientation" со значением "UIInterfaceOrientationLandscapeRight"
- в классах контроллеров, изменить методы shouldAutorotateToInterfaceOrientation "вернуться (interfaceOrientation == UIInterfaceOrientationLandscapeRight) || (interfaceOrientation == UIInterfaceOrientationLandscapeLeft);"
- Запуск приложения.
Когда я запускаю свое приложение, оно появляется в альбомной ориентации, но основной вид охватывает только верхнюю половину дисплея, и он растягивается горизонтально. Я получаю одинаковые результаты как в симуляторе, так и на реальном устройстве. Я видел его с версиями 2.2 и 2.2.1 SDK.
Я был в состоянии обойти эту проблему, добавив следующий шаг выше:
- Add «self.view.autoresizesSubviews = NO;» к методу viewDidLoad RootViewController после "[super viewDidLoad];".
Если я это сделаю, то он будет работать, как ожидалось. Но это похоже на хак. Зачем это нужно?
Я не думаю, что это проблема трансформации. Все элементы рисуются в правильной ориентации и с правильным масштабированием. Проблема заключается в том, что прямоугольники границ основного вида становятся фанки. Похоже, что высота основного вида сокращается чуть более чем наполовину, а ширина увеличивается примерно на 50%.
Если я делаю то же самое множество шагов, используя шаблон приложения на основе View, а не Utility, тогда все работает так, как ожидалось. Поэтому я уверен, что проблема связана с тем, как приложение Utility управляет своими представлениями.
Кто-нибудь понимает, что здесь происходит?
Вид глупых вопросов, но есть ли правильный размер в IB? –
Да, размер правильный. –
Пожалуйста, ознакомьтесь с Пейзаж FAQ для ответа на ваш вопрос: http://stackoverflow.com/questions/2953351/iphone-landscape-faq-and-solutions –