Как сделать: автопортрет на iPad и портрет только на iPhone? - PullRequest
1 голос
/ 14 августа 2011

Привет, я только начал программировать на iPhone. Я создал универсальное приложение для iPad и iPhone в Xcode 3.2, и все работает нормально. Но теперь я хочу реализовать в этом приложении следующую функцию:

Он должен поддерживать автоповорот на iPad и быть портретным только на iPhone.

Понятия не имею, как это сделать.

У меня есть файл делегата AppDelegate_iPad, файл делегата AppDelegate_iPhone, и viewcontroller на вкладке Shared, который используется обоими этими делегатами.

Любые идеи, как я могу реализовать эту функцию. любая помощь будет оценена.

Спасибо Vik

Ответы [ 2 ]

3 голосов
/ 14 августа 2011

В контроллере (представлениях) для представлений, в которых вы хотите реализовать это поведение поворота, выполните проверку внутри shouldAutorotateToInterfaceOrientation, например:

- (BOOL)shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation) interfaceOrientation {     
    UIDevice* thisDevice = [UIDevice currentDevice];
    if (thisDevice.userInterfaceIdiom == UIUserInterfaceIdiomPad)
    {
        return true;
    }
    else
    {
        return interfaceOrientation == UIDeviceOrientationPortrait;
    }
}
0 голосов
/ 16 июля 2013

Приложения под iOS 6+ также захотят реализовать ViewController:

- (NSInteger)supportedInterfaceOrientations

и / или AppDelegate:

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window

Например,

- (NSInteger)supportedInterfaceOrientations
{
    if ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad) {
        return UIInterfaceOrientationMaskAll;
    }
    return UIInterfaceOrientationMaskPortrait;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...