mat*_*att 38 cabasicanimation swift
根据文档,永远重复CABasicAnimation的方法是将其设置repeatCount为HUGE_VALF.
但在Swift中,HUGE_VALF会导致编译错误.Swift似乎不知道标准库(或者这个常量所在的位置).
现在我该怎么做?
mat*_*att 82
设置repeatCount为Float.infinity.这编译和工作.
很可能,HUGE_VALF在任何情况下都是遗留价值.
尽管如此,Swift还是看不到这些数字常量名称,这有点令人惊讶.我确实尝试<stdlib.h>在桥接头中导入,但它没有帮助.
但请现在看看Martin R的回答.自我发布答案以来,Apple明确表达了他们的首选答案:使用.greatestFiniteMagnitude.它几乎是一样的.infinity但不完全!
状态repeatCount属性的当前文档CAMediaTiming:
将此属性设置为
greatestFiniteMagnitude将导致动画永远重复。
并且编译没有问题:
let ba = CABasicAnimation()
ba.repeatCount = .greatestFiniteMagnitude
Run Code Online (Sandbox Code Playgroud)
HUGE_VALF没有导入 Swift的原因是它被定义为一个“非平凡”的宏<math.h>:
# define HUGE_VALF __builtin_huge_valf()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13995 次 |
| 最近记录: |