实现页面淡入淡出效果,实现思路:
- 创建
testView
页面,frame
和页面大小一样大 - 设置背景颜色
- 设置
tag
用于定位view
- 设置透明度为 0
- 创建当前页面点击手势
- 创建淡出页面的点击手势
源码如下:
代码语言:javascript复制override func viewDidLoad() {
super.viewDidLoad()
let testView = UIView(frame: self.view.frame)
testView.backgroundColor = .blue
testView.tag = 1000
self.view.addSubview(testView)
testView.alpha = 0.0
// 创建当前页面点击手势
let tap = UITapGestureRecognizer(target: self, action: #selector(test))
self.view.addGestureRecognizer(tap)
// 创建淡出页面的点击手势
let tap2 = UITapGestureRecognizer(target: self, action: #selector(test2))
testView.addGestureRecognizer(tap2)
}
实现手势方法,在 test
方法中实现 animate
设置持续时间 0.5
秒,在 animations
通过 tag
定位出现的 view
设置透明度为 1。使用 self.view.layoutIfNeeded()
立即更新视图。
在 test2
方法中需要实现隐藏页面的功能,需要定位到 view
并将透明度设置为 0。然后立即更新视图。
源码如下:
代码语言:javascript复制@objc func test() {
// 改变透明度
UIView.animate(withDuration: 0.5, animations: {
let view = self.view.viewWithTag(1000)
view?.alpha = 1.0
self.view.layoutIfNeeded()
})
}
@objc func test2() {
// 改变透明度
UIView.animate(withDuration: 0.5, animations: {
let view = self.view.viewWithTag(1000)
view?.alpha = 0.0
self.view.layoutIfNeeded()
})
}
-End-