小笨笨不懂编程 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继承的父类中实现上述代码。

    评论

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵