OGeek|极客世界-中国程序员成长平台

标题: ios - Xcode IOS将某些方向锁定为纵向,而将某些方向锁定为横向 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 13:08
标题: ios - Xcode IOS将某些方向锁定为纵向,而将某些方向锁定为横向

我正在开发一个有大约 12 个 View 的应用程序。我希望一些是纵向的,而另一些是横向的。

如何将某些 View 的方向锁定为纵向而将其他 View 的方向锁定为横向?

我尝试了前面示例中的以下代码,但它没有锁定方向。

    [[UIDevice currentDevice] setValue:
 [NSNumber numberWithInteger: UIInterfaceOrientationLandscapeLeft]
                            forKey"orientation"];



Best Answer-推荐答案


经过将近 24 小时的尝试,我终于解决了这个问题。对于一个“ShouldAutoRotate”永远不会被调用。这就是我到处都能找到的“只需添加 shouldAutoRotate”......没用。我也不确定为什么人们对我的问题投反对票。

对我有用的是将以下方法添加到我的 Appdelegate.m 文件中。

- (NSUInteger)applicationUIApplication *)application supportedInterfaceOrientationsForWindowUIWindow *)window{

    NSUInteger orientations = UIInterfaceOrientationMaskAllButUpsideDown;

    if(self.window.rootViewController){
        UIViewController *presentedViewController = [[(UINavigationController *)self.window.rootViewController viewControllers] lastObject];
        orientations = [presentedViewController supportedInterfaceOrientations];
    }

    return orientations;
}

然后在viewcontroller.m文件中添加下面的方法我要锁定到横向。

- (NSUInteger)supportedInterfaceOrientations{
    return UIInterfaceOrientationMaskLandscape;
}

关于ios - Xcode IOS将某些方向锁定为纵向,而将某些方向锁定为横向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27236752/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4