1

嗨,我刚刚开始 iPhone 编程。我在 Xcode 3.2 中为 iPad 和 iPhone 创建了一个通用应用程序,并且 evrerything 工作正常。但现在我想在该应用程序中实现以下功能:

它应该支持 iPad 上的自动旋转,并且只在 iPhone 上是纵向的。

我不知道该怎么做。

我在共享选项卡下有一个 AppDelegate_iPad 委托文件、一个 AppDelegate_iPhone 委托文件和一个视图控制器,并且由这两个委托共享。

任何想法如何实现该功能。任何帮助,将不胜感激。

谢谢维克

4

2 回答 2

3

在要实现此旋转行为的视图的视图控制器中,在 内部进行检查shouldAutorotateToInterfaceOrientation,如下所示:

- (BOOL)shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation) interfaceOrientation {     
    UIDevice* thisDevice = [UIDevice currentDevice];
    if (thisDevice.userInterfaceIdiom == UIUserInterfaceIdiomPad)
    {
        return true;
    }
    else
    {
        return interfaceOrientation == UIDeviceOrientationPortrait;
    }
}
于 2011-08-14T01:52:08.340 回答
0

运行 iOS 6+ 的应用程序也需要实现 ViewController 的:

- (NSInteger)supportedInterfaceOrientations

和/或 AppDelegate 的:

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window

例如,

- (NSInteger)supportedInterfaceOrientations
{
    if ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad) {
        return UIInterfaceOrientationMaskAll;
    }
    return UIInterfaceOrientationMaskPortrait;
}
于 2013-07-15T20:07:48.223 回答