将int转换为CGFloat

Sho*_*ibi 27 iphone integer objective-c

关于如何在目标C中将int转换为CGFloat的任何想法?

Ben*_*tow 58

在过去,使用()语法转换CGFloat值对我来说很好.CGFloat刚定义为"typedef float CGFloat;" 所以你要像浮动一样投射它:

CGFloat f = (CGFloat)intVal;
Run Code Online (Sandbox Code Playgroud)

或者,如果您的值是常数:

CGFloat f = 1.10;
Run Code Online (Sandbox Code Playgroud)

  • 遗憾的是,这不再适用于64位,其中CGFloat是一个"双重":http://stackoverflow.com/questions/1264924/whats-the-difference-between-using-cgfloat-and-float (2认同)
  • 如果删除`f`后缀然后它应该工作,那么在32位平台上会有一个从double到float的隐式向下转换,在64位平台上根本没有转换. (2认同)

Amr*_*gry 11

我正在搜索如何在swift中做同样的事情,我在第一个结果中找到问题(排名很高),所以我会发现答案,如果发现万一有人像我这样幸运:)

let myCGFloat = CGFloat(myFloat)
Run Code Online (Sandbox Code Playgroud)