Проблемы автоматического поворота iPad в iOS 6

Я понимаю, что это очень распространенная проблема, но ни одно из решений, которые я нашел, не решает мою проблему.

Чтобы решить проблему сбоя Game Center при запуске в альбомной ориентации, вы должны добавить поддерживаемые ориентации интерфейса для ВСЕХ ориентаций (что я и сделал). Сбой на iPhone / iPod теперь устранен для этих конкретных устройств.

Теперь моя проблема связана с iPad 1. Если вы держите iPad в портретном режиме при запуске игры, игра может оставаться в портретном режиме, пока вы не повернете устройство (если вы затем попытаетесь повернуть его обратно, это не произойдет, только при ЗАПУСКЕ я могу получить эту проблему). Если я не уберу портрет из поддерживаемых ориентаций интерфейса. К сожалению, если я это сделаю, приложение вылетит на других устройствах.

Моя исходная ориентация интерфейса — альбомная левая.

Это код, который у меня сейчас есть:

(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
    return (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft || toInterfaceOrientation == UIInterfaceOrientationLandscapeRight);
}

- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskLandscapeRight|UIInterfaceOrientationMaskLandscapeLeft;
}


- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    return UIInterfaceOrientationLandscapeRight;
}

- (BOOL)shouldAutorotate{
    return YES;
}

person Asheh    schedule 21.01.2013    source источник
comment
Это не сработает, если я это сделаю, на айподах/айфонах произойдет сбой.   -  person Asheh    schedule 22.01.2013


Ответы (1)


Попробуйте это в appDelegate:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation;
    if( orientation == UIDeviceOrientationPortrait || orientation == UIDeviceOrientationPortraitUpsideDown )
        [[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight];
}
person pcholberg    schedule 21.01.2013