小笨笨不懂编程 2021-03-05 17:13 采纳率: 0%
浏览 44

ios 中怎么设置RootViewController的方向?

我的ios工程中有的页面是竖屏的有的是横屏的。在general UIDevice Orientation 里我勾选了 Portrait 和Landscape,这两个必须是要勾的,项目需要的原因。我们的要求是进去启动图是竖屏的,第一个页面也是竖屏的。

现在出了个问题是,如果用户的iphone没有锁定旋转,并且在横屏的状态下点击我们的app,启动图变成了横屏的,而且第一个页面也变成了横屏的。启动图倒没关系了,只是第一个页面我的设置是:

supportedInterfaceOrientations return UIInterfaceOrientationMaskPortrait

shouldAtutorotate return YES

preferredInterfaceOrientationForPresentation return UIIterfaceOrientationPortrait

 

这样设置之后横屏进游戏页面成了横屏,实在不理解,求教

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-24 09:47
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    这个问题的答案其实很简单,只需要在application:didFinishLaunchingWithOptions方法中添加一行代码即可解决你的问题。

    [self setInitialOrientation:UIInterfaceOrientationPortrait];
    

    这里self指的是UIApplication类的对象,所以你可以直接使用UIApplication对象来调用这个方法。这行代码的意思就是将初始方向设置为横向。

    如果你在应用程序中使用的是Storyboard文件,那么你可以在Storyboard中定义一个视图控制器,然后在其中的viewDidLoad方法中添加上述代码。这样就可以确保所有的视图控制器都以正确的方向显示出来了。

    如果你是在Objective-C代码中进行操作,那么你需要在AppDelegate或UIViewController继承的父类中实现上述代码。

    评论

报告相同问题?