Ios Cocos2D项目的Xcode 6中反转的像素尺寸
我有一个iOS Cocos2D应用程序,设计为在横向模式下运行。在iPhone 5设备上模拟应用程序时,我使用以下代码获得屏幕尺寸:Ios Cocos2D项目的Xcode 6中反转的像素尺寸,ios,xcode,cocos2d-iphone,xcode6,Ios,Xcode,Cocos2d Iphone,Xcode6,我有一个iOS Cocos2D应用程序,设计为在横向模式下运行。在iPhone 5设备上模拟应用程序时,我使用以下代码获得屏幕尺寸: CGSize screenSizeInPixels = [CCDirector sharedDirector].winSizeInPixels; 执行此代码将生成screenSizeInPixels.width=1136.0f和screenSizeInPixels.height=640.0f。但是,当我在Xcode 6中模拟/执行相同的代码时,得到的却是相反的
CGSize screenSizeInPixels = [CCDirector sharedDirector].winSizeInPixels;
执行此代码将生成screenSizeInPixels.width=1136.0f和screenSizeInPixels.height=640.0f。但是,当我在Xcode 6中模拟/执行相同的代码时,得到的却是相反的结果:screenSizeInPixels.width=640.0f和screenSizeInPixels.height=1136.0f
为什么像素尺寸颠倒了?这是iOS SDK中的一个错误:
其中一个解决方案是在info.plist中手动设置所需的方向,然后一切看起来都正常。这对我来说很管用。原因可能与往常一样:这取决于第一个场景何时/何地启动,以及该应用程序是横向应用程序还是纵向应用程序。最初,在切换到横向模式之前,所有应用程序都以纵向模式启动,此时大小会改变以反映这一点。@LearnCos2D该应用程序是横向应用程序(即Xcode中的设备方向为横向左侧和横向右侧)。在appDelegate中,我首先初始化窗口并创建控制器。在这一点上,如果我看winSizeInPixels,宽度是1136。然后我使用[director setDeviceOrientation:KCCDeviceOrientation和scapeRight]设置设备方向;此时,如果我查看winSizeInPixels,宽度将更改为640。代码中没有任何更改。这种行为在Xcode 5中正好相反。我不知道这是iOS版本问题还是Xcode问题。如何解决此可能的重复问题?我不太明白你的建议。info.plist已经有一个支持的接口方向条目。当您在应用程序目标的“常规”选项卡中选择设备方向(即设置生成设置、阶段等的同一视图)时,将设置该方向。对我来说,我想要的方向是横向(左主按钮)。我可以手动覆盖该值,但这基本上不会导致任何更改。我误解你的建议了吗?