有没有办法在不同的设备尺寸之间转换坐标点? (iOS)
Is there a way to convert coordinate points between different device sizes? (iOS)
我在网上学习一些教程,但代码是为 iPad 设计的。我正在使用 iPhone 并且屏幕尺寸不同。问题是作者使用了专门为iPad制作的'magic numbers'。
我已成功创建转换,因此它适用于任何设备。例如:
let xMid : CGFloat = CGRectGetMidX(self.frame)
let yMid : CGFloat = CGRectGetMidY(self.frame)
print("x: \(xMid) y: \(yMid)")
let height : CGFloat = CGRectGetHeight(self.frame)
let width : CGFloat = CGRectGetWidth (self.frame)
makeSlotAt(CGPoint(x: xMid / 4.0, y: 0), isGood: true)
makeSlotAt(CGPoint(x: xMid - xMid / 4.0, y: 0), isGood: false)
makeSlotAt(CGPoint(x: xMid + xMid / 4.0, y: 0), isGood: true)
makeSlotAt(CGPoint(x: xMid * 2.0 - xMid / 4.0, y: 0), isGood: false)
makeBouncerAt(CGPoint(x: 0, y: 0))
makeBouncerAt(CGPoint(x: xMid / 2.0, y: 0))
makeBouncerAt(CGPoint(x: xMid, y: 0))
makeBouncerAt(CGPoint(x: xMid * 1.5, y: 0))
makeBouncerAt(CGPoint(x: xMid * 2.0, y: 0))
无论如何,我只是想知道是否有一个函数或作弊 sheet 可以在设备大小之间进行数值转换。
谢谢!
如果您使用的教程使用幻数,请立即停止使用。如果您使用自动布局并遵循 Apple 针对 iOS 7 及更高版本的指南,您很少(如果有的话)需要使用幻数。您创建的函数是代码内测量的良好开端。
我在网上学习一些教程,但代码是为 iPad 设计的。我正在使用 iPhone 并且屏幕尺寸不同。问题是作者使用了专门为iPad制作的'magic numbers'。
我已成功创建转换,因此它适用于任何设备。例如:
let xMid : CGFloat = CGRectGetMidX(self.frame)
let yMid : CGFloat = CGRectGetMidY(self.frame)
print("x: \(xMid) y: \(yMid)")
let height : CGFloat = CGRectGetHeight(self.frame)
let width : CGFloat = CGRectGetWidth (self.frame)
makeSlotAt(CGPoint(x: xMid / 4.0, y: 0), isGood: true)
makeSlotAt(CGPoint(x: xMid - xMid / 4.0, y: 0), isGood: false)
makeSlotAt(CGPoint(x: xMid + xMid / 4.0, y: 0), isGood: true)
makeSlotAt(CGPoint(x: xMid * 2.0 - xMid / 4.0, y: 0), isGood: false)
makeBouncerAt(CGPoint(x: 0, y: 0))
makeBouncerAt(CGPoint(x: xMid / 2.0, y: 0))
makeBouncerAt(CGPoint(x: xMid, y: 0))
makeBouncerAt(CGPoint(x: xMid * 1.5, y: 0))
makeBouncerAt(CGPoint(x: xMid * 2.0, y: 0))
无论如何,我只是想知道是否有一个函数或作弊 sheet 可以在设备大小之间进行数值转换。
谢谢!
如果您使用的教程使用幻数,请立即停止使用。如果您使用自动布局并遵循 Apple 针对 iOS 7 及更高版本的指南,您很少(如果有的话)需要使用幻数。您创建的函数是代码内测量的良好开端。