首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Swift中使用CGFloat?

如何在Swift中使用CGFloat?
EN

Stack Overflow用户
提问于 2014-06-03 15:55:20
回答 4查看 33.4K关注 0票数 20
代码语言:javascript
运行
复制
var posinonY:Float = Float(y) + Float(pipeDown.size.height) + Float(verticalPipeGap)
pipeDown.position = CGPointMake(0.0, Float(posinonY))

我得到了这个错误:

“NSNumber”不是“CGFloat”的子类型“

为什么?

编辑:

CGFLoat需要双精度类型

代码语言:javascript
运行
复制
pipeDown.position = CGPointMake(0.0,  Double(posinonY))

这样就可以了。

EN

回答 4

Stack Overflow用户

发布于 2014-06-03 16:01:45

使用CGFloat(number)而不是Float(number)

代码语言:javascript
运行
复制
pipeDown.position = CGPointMake(0.0, CGFloat(posinonY))
票数 39
EN

Stack Overflow用户

发布于 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一起运行。

票数 7
EN

Stack Overflow用户

发布于 2018-03-08 12:56:55

Swift 4中的一样

使用

代码语言:javascript
运行
复制
CGPoint(x: 12.0, y: 100.0)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24009876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档