对于在 UIView.animate 块内部或外部的循环?
Posted
技术标签:
【中文标题】对于在 UIView.animate 块内部或外部的循环?【英文标题】:For in loop inside or outside UIView.animate block? 【发布时间】:2017-11-28 15:26:19 【问题描述】:以下功能之一是否比另一个功能更先进,或者在性能/最佳实践方面无关紧要?
1.
UIView.animate(withDuration: 1)
for b in self.someArray
b.frame.origin = self.myNewPosition
2.
for b in self.someArray
UIView.animate(withDuration: 1)
b.frame.origin = self.myNewPosition
【问题讨论】:
你都试过了吗?发生了什么? @rmaddy 我没有注意到函数中有任何副作用,但是我在代码中看到我在这部分工作不一致,我想知道是否有推荐的动画数组方法. @rmaddy 是正确的,您的选择是选项 1。 只要动画相同,就在动画块内循环。 如果有帮助,请接受答案:) 谢谢 @AamirR 我完全忘记了这个问题,谢谢:) 【参考方案1】:选项 1 创建一个动画,所有更新的属性都一起动画。
选项 2 创建 X 个动画,每个动画都可以随心所欲。
如果您希望所有原点在相同的持续时间内同时更改,请使用选项 1。
如果您想为数组中的每个对象使用不同的动画,请使用选项 2。
【讨论】:
以上是关于对于在 UIView.animate 块内部或外部的循环?的主要内容,如果未能解决你的问题,请参考以下文章
UIView animate withDuration 不会在 iOS 9.3.5 上调用完成处理程序
在 awakeFromNib 上调用 UIView animate withDuration 不会执行动画