0

我真的想了解自动旋转在 iOS5 和 iOS6 中的父子视图控制器是如何工作的。

假设我有一个带有三个 UIViewController 的 RootViewController 根视图控制器将三个视图控制器作为子视图控制器,并负责交换它们的 UIViewController。现在,我希望其中一个子视图控制器能够在所有界面方向上自动旋转,而另外两个只有纵向界面方向。

这可能吗?它是如何在 iOS 5 中完成的?和 iOS 6?

我真的很想了解所有 shouldAutorotateToInterfaceOrientation: supportedInterfaceOrientations preferredInterfaceOrientationForPresentation shouldAutorotate shouldAutomaticallyForwardRotationMethods 方法。但我不能让它工作:\ ........

4

1 回答 1

0

对于这两个视图(您希望仅在纵向模式下可用):

打开他们的视图控制器,并实现这个方法:

- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation{
return UIInterfaceOrientationIsPortrait(toInterfaceOrientation); // don't rotate if it's not portrait. 
// if you don't want the upside down portrait mode to be available as well, return the expression from below
// return toInterfaceOrientation == UIInterfaceOrientationPortrait;
}

这个实际上已被弃用,因此您可能还想使用它:

- (BOOL) shouldAutorotate
{
return YES;
}


-(NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait;
    // if you want it to be also in upside down portrait mode, return the expression below
    return UIInterfaceOrientationPortrait | UIInterfaceOrientationPortraitUpsideDown;
}
于 2013-06-26T11:14:34.543 回答