我创建了一个4英寸屏幕的视网膜分辨率图像,尺寸为640x1136px。它没有正确扩展。为了调试,我决定让代码打印出self.view.frame
的宽度和高度。结果是
width: 320
height: 480
这是不正确的,因为高度应该是568点(1136像素)。在objective-c spriteKit中处理错误的帧大小是什么?
编辑:
下面的代码
@implementation
UIImageView* menuImage;
(void)didMoveToView:(SKView *)view
中的
menuImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"menuImage"]];
menuImage.frame = self.view.frame;
NSLog(@"height: %f || width: %f", self.view.frame.size.height, self.view.frame.size.width);
编辑2:
提交少量测试结果
ScreenSize: {{0, 0}, {320, 480}}
SuperViewSize: {{0, 0}, {0, 0}}
SelfSize: {{0, 0}, {320, 480}}
答案 0 :(得分:0)
在AMI289的帮助下(见评论),我们想出了如何修复它。
首先,我进入了项目设置,在General下,我从“启动屏幕文件”中删除了文本。然后,我添加了Launch Image Source。之后,我删除了启动图像集文件并创建了新文件。这使menuImage
适合整个屏幕的正确分辨率。
注意:这可能仅在使用启动图像而不是启动文件时才有效,因为部分过程是删除启动屏幕文件文本字段中的文本。但是,我不确定该过程的哪个部分实际上已经解决了这个问题,所以无论如何它都可以工作。