iPhone& iPad方向(通用应用程序)

时间:2011-12-12 12:35:44

标签: iphone objective-c ipad

我正在尝试根据设备显示不同的方向。

在iPhone上我想允许纵向显示,在iPad上我希望允许使用landscapeleft方向。

这可能吗?

我试过

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{

    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
        return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
    }
    else {
        return (interfaceOrientation == UIInterfaceOrientationPortrait);
    }
}

2 个答案:

答案 0 :(得分:1)

您发布的代码完成了这项工作。但是,您需要将支持的设备方向添加到Info.plist。最简单的方法是在Project->Target->Summary->Supported Device Orientations部分选择适当的设置。

答案 1 :(得分:1)

将此添加到您的app delegate :( Swift)

func application(application: UIApplication, supportedInterfaceOrientationsForWindow window: UIWindow?) -> Int {
    if UIDevice.currentDevice().userInterfaceIdiom == .Phone {
        return Int(UIInterfaceOrientationMask.Portrait.rawValue)
    } else {
        return Int(UIInterfaceOrientationMask.LandscapeLeft.rawValue | UIInterfaceOrientationMask.LandscapeRight.rawValue)
    }
}