var posinonY:Float = Float(y) + Float(pipeDown.size.height) + Float(verticalPipeGap)
pipeDown.position = CGPointMake(0.0, Float(posinonY))
我得到了这个错误:
“NSNumber”不是“CGFloat”的子类型“
为什么?
编辑:
CGFLoat需要双精度类型
pipeDown.position = CGPointMake(0.0, Double(posinonY))
这样就可以了。
发布于 2014-06-03 16:01:45
使用CGFloat(number)
而不是Float(number)
pipeDown.position = CGPointMake(0.0, CGFloat(posinonY))
发布于 2014-07-07 20:06:50
由于CGFloat
不是32位上的Double
,因此很难使用CGGeometry和像CoreGraphics或SpriteKit这样的框架。这个库让它变得更简单了,希望苹果能尽快解决这个问题。
我写这篇文章是为了帮助https://github.com/seivan/ScalarArithmetic
但是如果你只想让它在没有依赖关系的情况下工作,显式地使用var myFloat:CGFloat
,并确保将任何Double
(类型推断的数字)强制转换为CGFloat
2.0,这将被推断为双精度值,并且不会与32位上的CG-Structs
一起运行。
发布于 2018-03-08 12:56:55
与Swift 4中的一样
使用
CGPoint(x: 12.0, y: 100.0)
https://stackoverflow.com/questions/24009876
复制相似问题