ios - 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
按下或按下按钮调用While 。
func dismiss() {
self.overlay.isHidden = true
self.viewContainer.frame.origin.y = self.view.frame.height
UIView.animate(withDuration: 0.2, delay: 0, options: .curveEaseOut, animations: {
self.viewContainer.frame.origin.y = self.view.frame.height + 500
}) { (_) in
self.view.removeFromSuperview()
}
}
这里似乎有什么问题?
解决方案
你可以试试这个
func dismiss() {
UIView.animate(withDuration: 0.2, delay: 0, options: .curveEaseOut, animations: {
self.viewContainer.frame.origin.y = self.view.frame.height + 500
self.overlay.isHidden = true
}, completion: nil)
}
推荐阅读
- sql - PLSQL - 比较两个逗号分隔并删除重复
- php - PHP删除元素表单数组无法正常工作
- reactjs - React 路由器 - 使用子路由导航内页
- linked-list - 我不知道为什么我在线程“main”java.lang.NullPointerException 中有错误异常
- android - 通过 Android Studio 进行拳头推送后未添加新的远程分支/头
- ios - 由于在 Info.plist 中的 UIBackgroundModes 键中声明支持位置,我的 iOS 应用程序被拒绝
- spring-boot - Spring Boot Rest Service 在本地运行良好,但在 AWS EBS 上部署后显示 404
- python - 以 Python 方式将两个数组的索引与 numpy 中的置换行进行比较
- java - 使用中断方法打印偶数奇数时发生了什么?
- python - 如何强制 Python 请求以八进制转义样式为 Unicode 字符发送 multipart/form-data 文件名?