iOS 8+ 中的横向模式无法正确显示

Landscape Mode in iOS 8+ not displaying correctly

提问人:Hypergater 提问时间:2/25/2017 更新时间:2/25/2017 访问量:70

问:

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

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

里面我正在使用AppDelegate.m

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

并将设备方向设置为 Portrait & Portraitupsidedown - 即使游戏是 Landscape。 这是一个肮脏的修复程序,并带来了它自己的一系列问题,例如 UIAlert 视图没有以正确的方向显示,以及屏幕没有倒置旋转横向(除非您将其纵向倒置)这令人困惑,并且非常确定它违反了 Apple 的审查规则,只是让整个解决方法变得毫无用处。

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

IOS的 Objective-C Cocos2D-iPhone

评论


答:

0赞 SagarU 2/25/2017 #1
  1. 在 AppDelegate.m 类中添加此内容

    • (UIInterfaceOrientationMask)应用程序:(UIApplication *)应用程序支持的InterfaceOrientationsForWindow:(UIWindow *)窗口 { 返回 UIInterfaceOrientationMaskLandscape; }
  2. 项目文件 -> 'Targets' -> 选择横向方向

评论

0赞 Hypergater 2/25/2017
根本没有区别。
0赞 SagarU 2/25/2017
两种选择?您希望应用程序以横向模式启动,对吗?您使用的是哪个 XCode 版本?
0赞 Hypergater 2/25/2017
8.2.1 你给我的代码也显示黄色错误;conflicting return type in implementation of 'application;supportedInterfaceOrientationsForWindow':UIInterfaceOrientationMask(aka 'enum UIInterfaceOrientationMask) vs 'NSUInteger (aka unsigned int'
0赞 Hypergater 2/25/2017
没有区别,我认为这个问题与COCOS2D识别横向屏幕尺寸有关