如何在IOS6中旋转单个视图控制器

时间:2012-11-29 13:14:35

标签: iphone ios6

如何在 ViewController 中旋转iPad中的单个ios6。我在

中使用了委托

appdelegate.m

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

它会使所有viewcontroller肖像和我只想在横向模式中只有一个viewcontroller

graphViewController.m中的

- (BOOL)shouldAutorotate
{
    return NO;
}

- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskLandscape;
}

但我无法得到正确的结果,请尽快回复。谢谢。

2 个答案:

答案 0 :(得分:3)

请参阅此链接iOS6 Release Notes

在UIKit下 - > iOS 6中的自动旋转正在发生变化

  

“更多的责任转移到app和app delegate。现在,iOS容器(例如UINavigationController)   不要咨询他们的孩子,以确定他们是否应该   自动旋转“。

永远不会在任何UIViewController(在UINavigationController中)调用onAutorotate(在iOS6中)。

你应该使用UINavigationController的shouldAutorotate方法(如果你使用的话)来确定显示哪个子节点并强制给定方向

答案 1 :(得分:0)

在想要在app delegate.m

中旋转的viewController中使用此方法
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // Return YES for supported orientations
    return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}

因为在下面的方法中你正在旋转窗口,这就是为什么它会改变整个应用程序。

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