动画消失时不起作用,但出现时起作用

Posted

技术标签:

【中文标题】动画消失时不起作用,但出现时起作用【英文标题】:Animation not working when disappearing, but works when appearing 【发布时间】:2020-10-04 18:29:11 【问题描述】:

我正在尝试使按钮出现和消失(动画)。出现时,它会动起来。但是当按钮应该消失时,它并没有动画,它就消失了。

有人知道为什么当它出现时它有动画,但当它消失时却没有?

然后按钮在开关打开时出现,在开关再次关闭时消失。

if switchesEnabled > 0 
     UIView.transition(with: button, duration: 0.25, options: .transitionCrossDissolve, animations: self.button.isHidden = true)
 else 
     UIView.transition(with: button, duration: 0.25, options: .transitionCrossDissolve, animations: self.button.isHidden = false)

另外:当按钮本身被按下时,按钮也会消失,并且使用完全相同的代码行,在这种情况下它可以工作。

【问题讨论】:

这段代码在哪里运行? 在按钮所在视图控制器的视图控制器文件中的 IBAction 函数中。@HunterMeyer 【参考方案1】:

您应该使用UIView.animate,而不是使用UIView.transition

if switchesEnabled > 0 
    UIView.animate(withDuration: 0.25, animations: 
        self.button.alpha = 0
    )
 else 
    UIView.animate(withDuration: 0.25, animations: 
        self.button.alpha = 1
    )

将 alpha 设置为 0 将自动禁用该按钮。

【讨论】:

以上是关于动画消失时不起作用,但出现时起作用的主要内容,如果未能解决你的问题,请参考以下文章

React Router 在重新加载时起作用,但在单击链接时不起作用

require_once 在文件相对于根目录时不起作用,但在相对于当前位置时起作用

UIButtons 在向右旋转时起作用,但在向左旋转时不起作用。嗯?

React setState 在第一次尝试时不起作用,但在第二次尝试时起作用?

jquery datatables 按钮:['excel'] 在 document.ready() 中构建表格时不起作用,但在动态构建表格时起作用

Datatables Ajax 在从文件中读取 JSON 时起作用,但从变量中读取 JSON 时不起作用(Django)