我正在线上学习一些教程,但代码适用于iPad。我正在使用iPhone,屏幕尺寸也不同。问题是作者使用专门为iPad制作的“魔术数字”。
我成功创建了转化,因此它适用于任何设备。例如:
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))
无论如何,我只是想知道是否有功能或备忘单在设备尺寸之间进行了数字转换。
谢谢!
答案 0 :(得分:3)
如果您使用的教程使用幻数,请立即停止使用。如果您使用自动布局并遵循Apple的iOS 7及更高版本的指南你很少,如果有的话,你需要使用魔术数字。您创建的函数是代码内测量的良好开端。