Проблема ориентации компонента Xcode 4 - PullRequest
0 голосов
/ 13 мая 2011

Я использую xCode 4 для своего проекта, который должен работать как на iPad, так и на iPhone.Итак, я создал универсальное приложение для Windows.Я хочу, чтобы мое приложение запускалось в ландшафтном режиме, поэтому я добавил следующее: в методе:

shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

Я установил interfaceOrientation == UIInterfaceOrientationLandscapeRight, добавил ключ в application.plist: Initial Interface Orientation и установил его в альбомной ориентации (правая домашняя кнопка).

Теперь приложение действительно запускалось в альбомном режиме, однако каждый его компонент (кнопка, метка) остается повернутым на 90 градусов (против часовой стрелки).Когда я загружаю xib, ориентация окна устанавливается в портрет, а выпадающий список отключен.кто-нибудь имеет представление, что я делаю не так?

1 Ответ

0 голосов
/ 13 мая 2011

shouldAutorotateToInterfaceOrientation не просит вас установить переменную (и у вас не будет возможности прочитать результат, даже если вы это сделаете), это вопрос о том, является ли номинальная ориентация приемлемой.Итак, вы хотите:

- (BOOL)shouldAutorotateToInterfaceOrientation:
                                    (UIInterfaceOrientation)interfaceOrientation
{
    if(interfaceOrientation == UIInterfaceOrientationLandscapeRight) return YES;
    return NO;
}

/* or: return interfaceOrientation == UIInterfaceOrientationLandscapeRight; */

XIB - это отдельная проблема;ни Интерфейсный Разработчик, ни его запасные части в Xcode 4 не могут видеть, что вы делаете в своем коде, поэтому они не должны просто отказываться позволить вам проектировать в ландшафтном режиме.Однако это представление, которое связано с элементом представления соответствующего UIViewController, для которого вы хотите установить ориентацию, а не окно.

...