Включить ориентацию интерфейса iPhone - PullRequest
4 голосов
/ 05 января 2011

Я пытаюсь заставить мое приложение вращать интерфейс, когда само устройство поворачивается, но я не могу сделать это правильно. Я добавил поддерживаемые интерфейсы в инфо-файл plist и возвратил yes для shouldRotateToInterfaceOrientation.

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

Это как вращение реализовано?
Пожалуйста помоги!

Ответы [ 4 ]

1 голос
/ 19 июня 2012

Может быть, попробуйте отредактировать info.plist и добавить туда свои поддерживаемые ориентации?

Выберите ваш проект -> Выберите цель -> Информация -> Поддерживаемые ориентации интерфейса и нажмите знак плюса 4 раза, чтобы поддержать эти ориентации:

Item 0   Landscape (left home button)
Item 1   Landscape (right home button)
Item 2   Portrait (top home button)
Item 3   Portrait (bottom home button)

Надеюсь, это поможет!

0 голосов
/ 05 января 2011

Поддержка ориентации проста, если вы используете стандартные элементы интерфейса, поэтому, если это так, вы на правильном пути.

Если вы используете UITabController, все виды должны поддерживать одинаковую ориентацию, в противном случае, по-моему, значение по умолчанию минимально (например, Портрет).

Кроме того, если вы используете NIB для своих представлений, убедитесь, что у вас установлен флажок «Автоматически изменять подвиды» при настройке представления в Интерфейсном Разработчике.

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

если вы используете UITabBarController, то вам нужно назвать его подпредставления shouldAutoratateToInterfaceOrientation.

предположим, у вас есть две вкладки, попробуйте добавить следующие две строки в метод shouldAutorotateToInterfaceOrientation в классе, который использует UITabViewController.

[[tabBarController.viewControllers objectAtIndex:0] shouldAutorotateToInterfaceOrientation:interfaceOrientation];
[[tabBarController.viewControllers objectAtIndex:1] shouldAutorotateToInterfaceOrientation:interfaceOrientation];

конечно, tabBarController должен быть связан с UITabBarController в вашем файле XIB через IB.

Спасибо

0 голосов
/ 05 января 2011

Убедитесь, что вы добавили shouldRotateToInterfaceOrientation в контроллеры представления, которые хотите поддерживать в разных ориентациях.Это не входит в делегат приложения.

...