最大CGFloat值是否有常量?

Pro*_*ber 51 objective-c core-foundation foundation cgfloat ios

我需要创建一个CGSize来计算任意长度的任意文本的文本高度.UIKit有这个很好的方法-sizeWithFont:constrainedToSize:我的文本只受宽度约束,但不是高度.

为此,我需要为高度设置最大可能的CGFloat.

有没有像"CGFloatMax"这样的常量?

GBF*_*iel 173

对于使用Swift 2的用户,您应该使用:

CGFloat.max
Run Code Online (Sandbox Code Playgroud)

对于使用Swift 3的用户,您应该使用:

CGFloat.greatestFiniteMagnitude
Run Code Online (Sandbox Code Playgroud)

请注意,CGFloat.maxSwift 3发布时已删除,如文档中所示.

  • 注意,从Swift 3开始,现在是`CGFloat.greatestFiniteMagnitude`:"对应于C宏FLT_MAX,DBL_MAX等.这些宏的命名略有误导,因为无穷大大于这个值." (6认同)

Jos*_*ell 14

怎么样CGFLOAT_MAX


Aam*_*irR 10

我正在寻找最小CGFloat 值的 Swift 版本并降落在这里,如果你也是;) 那么这里是答案:

CGFloat.leastNormalMagnitude
Run Code Online (Sandbox Code Playgroud)


Pau*_*l R 5

A CGFloat只是一个float你可以放心使用FLT_MAX<float.h>.

编辑:正如其他人现在已经指出它看起来CGFLOAT_MAX已经为你定义所以你应该使用它来保持一致性而不是FLT_MAX,即使它们在32位平台上是相同的东西.

  • 嘿,我刚刚从未来回来,他们实际上已经有64位iOS设备了!;) (9认同)
  • 但是,类型会根据系统而改变.虽然iOS现在都是32位,但是不应该假设typedef的基础类型. (3认同)