【发布时间】:2018-05-27 20:14:05
【问题描述】:
问题:只有当我在 viewWillAppear 或更高版本中添加视图时,我的自定义 UIView 动画才会显示。
上下文:在我的自定义 UIView 中,我在自定义初始化函数中创建动画并将其添加到图层。
override init(color: UIColor) {
backgroundPulsatingDotView = RouteIndicatorDotView(color: color)
super.init(colour: color)
configureBackgroundPulsatingDot()
addPulsatingAnimation()
}
这个自定义 UIView 位于视图层次结构的深处,理想情况下,我的视图控制器不应该仅仅因为这个动画而关心自己触发动画或触发在 viewWillAppear 中添加视图 [除了使用 viewWillAppear 时出现的其他错误或添加子视图的后期阶段]
有没有办法在我的自定义视图中保持添加和启动动画的逻辑,而不需要来自外部方的触发器,它会说“嘿,现在视图可见,请为自己设置动画”?
或者我应该在我的自定义视图生命周期中的何处添加动画的添加和启动,以使其在视图控制器生命周期中正常工作?
【问题讨论】:
-
我通常只是将我的动画放在
viewDidAppear/willDisplay(cell:_)等中,然后添加一个布尔值来告诉我是否应该再次为它制作动画。
标签: ios swift caanimation