【问题标题】:Swift CoreAnimation: zPosition should be within (-FLT_MAX, FLT_MAX) rangeSwift CoreAnimation:zPosition 应在 (-FLT_MAX, FLT_MAX) 范围内
【发布时间】:2018-05-15 09:47:46
【问题描述】:

我想始终保持前面的视图。在 Swift 中,CGFLOAT_MAXFLT_MAX 被替换为对应的 .greatestFiniteMagnitude。所以,我用了:

view.layer.zPosition = .greatestFiniteMagnitude

它工作正常,但现在我收到警告:

CoreAnimation: zPosition should be within (-FLT_MAX, FLT_MAX) range.

有没有办法摆脱警告(也许在这里使用更好的价值)?

谢谢。

【问题讨论】:

    标签: swift max zposition


    【解决方案1】:

    在 64 位平台上

    CGFloat.greatestFiniteMagnitude = Double.greatestFiniteMagnitude = 1.79769313486232e+308
    Float.greatestFiniteMagnitude = 3.40282e+38
    

    显然zPosition 应该在Float 的(较小的)范围内:

    view.layer.zPosition = CGFloat(Float.greatestFiniteMagnitude)
    

    【讨论】:

    • 为什么不使用CGFloat.greatestFiniteMagnitude 而不是转换为CGFloat 有问题吗
    • @zombie:这是不同的值。在 64 位平台上,CGFloat.greatestFiniteMagnitude = Double.greatestFiniteMagnitude = 1.79769313486232e+308,但 Float.greatestFiniteMagnitude = 3.40282e+38。
    猜你喜欢
    • 1970-01-01
    • 2021-02-28
    • 2019-04-16
    • 2014-07-05
    • 2021-06-09
    • 2014-12-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多