【问题标题】:Landscape Mode in iOS 8+ not displaying correctlyiOS 8+ 中的横向模式无法正确显示
【发布时间】:2017-07-15 13:47:42
【问题描述】:

我有几个较旧的 Cocos2d 游戏,在更新时,我注意到它们在启动时出现截断。在 StackOverflow 上找到其他答案后,我仍然遇到问题。

我目前使用的解决方法是;

里面AppDelegate.m我正在使用

CGAffineTransform transform = CGAffineTransformMakeRotation(1.57079633);
    navController_.view.transform = transform;

并将设备方向设置为 Portrait & Portraitupsidedown - 即使游戏是横向的。 这是一个肮脏的修复,并带来了它自己的一组问题,例如 UIAlert 视图没有以正确的方向显示,以及屏幕没有旋转横向颠倒(除非你把它纵向颠倒),这让人困惑,而且很确定违反了 Apple 的审核规则,只会让整个变通方法毫无用处。

实际上我需要欺骗它,以便我可以启用横向模式而不是纵向模式,但在启动时旋转屏幕,有没有人成功管理过这个?

【问题讨论】:

    标签: ios objective-c iphone cocos2d-iphone


    【解决方案1】:
    1. 在 AppDelegate.m 类中添加这个

      • (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window { 返回 UIInterfaceOrientationMaskLandscape; }
    2. 项目文件 -> '目标' -> 选择横向方向

    【讨论】:

    • 完全没有区别。
    • 两个选项?您希望应用程序以横向模式启动吗?您使用的是哪个 XCode 版本?
    • 8.2.1 你给我的代码也出现黄色错误; conflicting return type in implementation of 'application;supportedInterfaceOrientationsForWindow':UIInterfaceOrientationMask(aka 'enum UIInterfaceOrientationMask) vs 'NSUInteger (aka unsigned int'
    • 没有区别,我认为与COCOS2D在横向识别屏幕尺寸有关的问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-06
    • 1970-01-01
    • 2013-06-01
    • 2017-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多