Xcode 4.5 SplitView разбивает ориентацию на iOS 5.1 (работает над iOS6)

Я работал над проектом splitView, когда Xcode был обновлен до версии 4.5. С тех пор авторотация работает отлично. После обновления авторотация работает только для iOS 6. На iOS 5.1 я стопю в Portrait. Я прочитал все возможные решения, но ничто, кажется, не в состоянии решить мою проблему. Ниже приводится то, что я сделал до сих пор:

Проверено, что все ориентации в моем plist. Заменено (BOOL)shouldAutorotateToInterfaceOrientation: с

- (BOOL)shouldAutorotate
{
    return TRUE;
}

- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskAll;
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    return UIInterfaceOrientationLandscapeRight;
}

Я добавил фрагмент ниже в делегате приложения

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
    {
        return (UIInterfaceOrientationMaskAll);
    }

Я покажу в другом ответе нижеприведенный фрагмент, как бы я не был уверен, как его реализовать в контроллере splitView

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
   ...
   window.rootViewController = topLevelViewController;
   ...
}

Может ли кто-нибудь помочь мне с этим?

Ответ 1

Вам нужно сохранить метод из iOS 5:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return YES;
}

чтобы продолжить поддержку iOS 5. Таким образом, сохраните как новые, так и новые для iOS 6 и старые для iOS 5. Обратите внимание, что для UISplitView для вращения в iOS 5 все закрытое представление контроллеры должны иметь вышеуказанный метод.