UIView subView alpha 动画不起作用
Posted
技术标签:
【中文标题】UIView subView alpha 动画不起作用【英文标题】:UIView subView alpha animation not working 【发布时间】:2018-01-11 19:03:22 【问题描述】:当UIScrollView
滚动一定量时,我正在尝试执行子视图的 alpha 动画。我有 UIView
有另一个 UIView
作为孩子。
改变下面的变量来触发动画
var isExpanded: Bool = false
didSet
if (oldValue != isExpanded)
toggleExpanded()
我已经尝试过选项 1:
func toggleExpanded()
UIView.animate(withDuration: 300 , animations:
if (self.isExpanded)
self.mySubView.alpha = 1.0
else
self.mySubView.alpha = 0.0
)
还有选项 2:
func toggleExpanded()
if (isExpanded)
mySubView.alpha = 1.0
else
mySubView.alpha = 0.0
UIView.animate(withDuration: 300 , animations:
self.layoutIfNeeded()
)
任何一个似乎都有效,alpha 立即更改,在选项 1 中它似乎甚至相反。例如,自动布局约束会影响这里的动画吗?遇到此类问题从哪里开始?
谢谢。
【问题讨论】:
【参考方案1】:您的第一个解决方案是正确的,但问题在于持续时间。 duration
以秒为单位,尝试 1 或 0.5 秒,一切都会好起来的。
查看documentation 的animate(withDuration:animations:completion:)
了解更多信息。
【讨论】:
我只是注意到它以秒为单位而不是毫秒:D以上是关于UIView subView alpha 动画不起作用的主要内容,如果未能解决你的问题,请参考以下文章
UIView Animation 中的 Alpha 变化没有影响,在 UIView Animation 之外很好