0

我想为我的应用程序中的不同视图控制器设置不同的规则,而不是跨所有视图的单一规则(就像您可以在 Target-Summary 中定义的那样)。

例如,我有几个视图我希望我的前几个视图只出现在纵向视图中,但是在我的最后一个视图中,我希望用户能够在纵向和横向之间进行切换......我很想知道如何做到这一点.

此外,我还阅读了用户在横向导航到视图的问题,并且视图在应该是纵向时显示为横向,并且在用户旋转设备之前不会改变,如果可能的话,我想避免这种情况......

所以我的问题是如何根据用户所在的视图允许不同的 UIViewController 方向。

4

1 回答 1

1

这取决于您的目标是 iOS 5 还是 iOS 6。
iOS 5:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)orientation {
   if ((orientation == UIInterfaceOrientationPortrait) ||
       (orientation == UIInterfaceOrientationLandscapeLeft))
       return YES;

       return NO;
}

iOS 6:

在 App Summary 中设置默认支持的方向,然后在 VC 中设置不同的方向:

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

此处的 Apple 文档

有关更多信息,请参阅这些问题:

在 iOS 6 中未调用 shouldAutorotateToInterfaceOrientation

shouldAutorotateToInterfaceOrientation 在 iOS 6 中不起作用

于 2013-03-13T02:11:23.287 回答