Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.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
Swift CGRectGet不';工作不好_Swift_Sprite Kit_Frame_Cgrect - Fatal编程技术网

Swift CGRectGet不';工作不好

Swift CGRectGet不';工作不好,swift,sprite-kit,frame,cgrect,Swift,Sprite Kit,Frame,Cgrect,我在Swift中使用XCode 6和Sprite工具包,我希望在y中有最大的像素,所以我使用这个函数: CGRectGetMaxY(frame) 我用iPhone6模拟器测试了我的代码,所以值应该是1334.0,但控制台显示的只有667.0 出什么问题了?看来您是在“点空间”而不是“像素空间”中工作。根据您的设置,您的图像(我假设这就是1334的来源)可能具有@2x分辨率 检查“资源”文件夹,确保图像的定义方式正确 检查您的比例设置 UIKit(以及大多数iOS)在点空间上运行,因此请尝试在这

我在Swift中使用XCode 6和Sprite工具包,我希望在y中有最大的像素,所以我使用这个函数:

CGRectGetMaxY(frame)
我用iPhone6模拟器测试了我的代码,所以值应该是1334.0,但控制台显示的只有667.0


出什么问题了?

看来您是在“点空间”而不是“像素空间”中工作。根据您的设置,您的图像(我假设这就是1334的来源)可能具有
@2x
分辨率

  • 检查“资源”文件夹,确保图像的定义方式正确
  • 检查您的
    比例
    设置
  • UIKit(以及大多数iOS)在点空间上运行,因此请尝试在这些坐标中工作-它们抽象设备分辨率(现在我们有
    @1x、@2x、
    @3x
    设备,这一点很重要)

  • 点空间:

    最初的iPhone是320x480像素。为了让你的代码与设备无关,当它们进入视网膜时,屏幕和所有逻辑保持在320x480的分辨率。这些并不总是对应于像素,因此术语改为“点”。这就是为什么当你抓取iPhone4的屏幕尺寸时,它仍然报告320x480


    这与
    UIFont
    无关。
    UIFont
    所采用的标准是完全不同的。卸下
    UIFont
    部件。