CGRectGet运作良好

时间:2014-12-07 16:49:29

标签: swift sprite-kit frame cgrect

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

CGRectGetMaxY(frame)

我用iPhone 6模拟器测试了我的代码,所以值应该是1334.0但控制台只显示667.0 ...

有什么问题?

1 个答案:

答案 0 :(得分:3)

您似乎正在"点空间"而不是"像素空间"。根据您的设置,您的图片(我假设1334来自哪里)的分辨率可能为@2x

  1. 检查您的资源文件夹,确保图像已定义如何。
  2. 检查您的scale设置
  3. UIKit(以及大多数iOS)在点空间上运行,因此尝试使用这些坐标 - 它们抽象设备分辨率(现在我们有@1x, @2x,@3x设备很重要。)

  4. 点空间:

    原版iPhone为320x480像素。为了让你的代码与设备无关,当他们去Retina时,屏幕和所有逻辑都保持在320x480的分辨率。这些并不总是与像素对应,因此术语变为"点"。这就是为什么当你抓住iPhone 4的屏幕尺寸时,它仍然会报告320x480。

    Apple's Documentation on this.