Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 目标C:SpriteKit-帧错误_Ios_Objective C_Sprite Kit_Frame - Fatal编程技术网

Ios 目标C:SpriteKit-帧错误

Ios 目标C:SpriteKit-帧错误,ios,objective-c,sprite-kit,frame,Ios,Objective C,Sprite Kit,Frame,我创建了一个4英寸屏幕的视网膜分辨率图像,大小为640x1136px。它没有适当地缩放。为了调试,我决定让代码打印self.view.frame的宽度和高度。结果是 宽度:320 身高:480 这是不正确的,因为高度应为568点1136像素。objective-c spriteKit中帧大小错误的处理方法是什么 编辑: 代码贴在下面 低于@implementation UIImageView*菜单图像 在voiddidMoveToView中:SKView*视图 编辑2: 提交少数测试的结果 Sc

我创建了一个4英寸屏幕的视网膜分辨率图像,大小为640x1136px。它没有适当地缩放。为了调试,我决定让代码打印self.view.frame的宽度和高度。结果是

宽度:320 身高:480

这是不正确的,因为高度应为568点1136像素。objective-c spriteKit中帧大小错误的处理方法是什么

编辑:

代码贴在下面

低于@implementation

UIImageView*菜单图像

在voiddidMoveToView中:SKView*视图

编辑2:

提交少数测试的结果

ScreenSize: {{0, 0}, {320, 480}}
SuperViewSize: {{0, 0}, {0, 0}}
SelfSize: {{0, 0}, {320, 480}}

在AMI289 see comments的帮助下,我们找到了修复此问题的方法

首先,我转到项目设置,在General下,我从启动屏幕文件中删除了文本。然后,我添加了启动图像源。之后,我删除了启动映像集文件并创建了一个新文件。这使得菜单图像以正确的分辨率适合整个屏幕


注意:这可能仅在使用启动映像而不是启动文件时有效,因为部分过程是删除启动屏幕文件文本字段中的文本。但是,我不确定该过程的哪一部分确实解决了该问题,因此它可能仍然可以工作。

您确定您没有在3.5设备/模拟器上意外检查它或在某个地方手动更改视图大小吗?您可以添加以下NSLog语句并发布其值吗?NSLog@ScreenSize:%@,NSStringFromCGRect[[UIScreen mainScreen]边界];NSLog@SuperViewSize:%@,NSStringFromCGRectself.view.superview.bounds;NSLog@SelfSize:%@,NSStringFromCGRectself.view.bounds;你能在4英寸模拟器上运行它,看看是否得到相同的结果吗?请尝试,在左侧的“导航器”上,转到“Images.xcsets”->“LaunchImage”,并确保你有一个4英寸的启动图像。我同意这听起来很奇怪,但看看这里
ScreenSize: {{0, 0}, {320, 480}}
SuperViewSize: {{0, 0}, {0, 0}}
SelfSize: {{0, 0}, {320, 480}}