UIView.animate不对一个函数进行动画处理

问题描述

我有两个为UIView设置动画的函数。一个用于显示它,另一个用于消除视图。奇怪的是,用于显示视图的动画正在工作,但是用于关闭视图的动画却没有。

在将视图添加为子视图之后,会立即调用

show()

func show() {
    self.viewContainer.frame.origin.y = self.view.frame.height + 500
    UIView.animate(withDuration: 0.2,delay: 0,options: .curveEaseOut,animations: {
        self.viewContainer.frame.origin.y = self.view.frame.height
    },completion: nil)
}

使用dismiss()或按下按钮调用UITapGestureRecognizer时。

func dismiss() {
    self.overlay.isHidden = true
    self.viewContainer.frame.origin.y = self.view.frame.height
    UIView.animate(withDuration: 0.2,animations: {
        self.viewContainer.frame.origin.y = self.view.frame.height + 500
    }) { (_) in
        self.view.removeFromSuperview()
    }
}

这里似乎是什么问题?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)