//
|
// TreeTeskListView.swift
|
// XQMuse
|
//
|
// Created by 无故事王国 on 2024/9/11.
|
//
|
|
import UIKit
|
import JQTools
|
import RxSwift
|
|
enum TreeTeskListSwipe{
|
case up
|
case down
|
}
|
|
class TreeTeskListView: UIView,JQNibView{
|
|
@IBOutlet weak var view_sign: UIView!
|
@IBOutlet weak var label_sign: UILabel!
|
|
private var clouse:((TreeTeskListSwipe)->Void)?
|
private var disposeBag = DisposeBag()
|
|
|
|
override func awakeFromNib() {
|
super.awakeFromNib()
|
|
//添加一个上滑手势
|
let swipe = UISwipeGestureRecognizer()
|
swipe.direction = .up
|
swipe.numberOfTouchesRequired = 1
|
self.addGestureRecognizer(swipe)
|
|
//手势响应
|
swipe.rx.event
|
.subscribe(onNext: {[unowned self] recognizer in
|
//这个点是滑动的起点
|
let point = recognizer.location(in: recognizer.view)
|
print(point)
|
if point.y <= 50{
|
self.clouse?(.up)
|
}
|
}).disposed(by: disposeBag)
|
|
//添加一个上滑手势
|
let swipeDown = UISwipeGestureRecognizer()
|
swipeDown.direction = .down
|
swipeDown.numberOfTouchesRequired = 1
|
self.addGestureRecognizer(swipeDown)
|
|
//手势响应
|
swipeDown.rx.event
|
.subscribe(onNext: { recognizer in
|
//这个点是滑动的起点
|
let point = recognizer.location(in: recognizer.view)
|
print(point)
|
if point.y <= 50{
|
self.clouse?(.down)
|
}
|
}).disposed(by: disposeBag)
|
}
|
|
func swipeClouse(clouse:@escaping (TreeTeskListSwipe)->Void){
|
self.clouse = clouse
|
}
|
|
@IBAction func signAction(_ sender: TapBtn) {
|
|
label_sign.text = "已签到"
|
view_sign.backgroundColor = .gray.withAlphaComponent(0.2)
|
label_sign.textColor = .white
|
|
let imageView = UIImageView(image: UIImage(named: "icon_signSuccess"))
|
imageView.transform = .init(scaleX: 0.1, y: 0.1)
|
imageView.alpha = 0
|
sceneDelegate?.window?.addSubview(imageView)
|
imageView.snp.makeConstraints { make in
|
make.center.equalToSuperview()
|
make.width.equalTo(132)
|
make.height.equalTo(151)
|
}
|
|
UIView.animate(withDuration: 0.5, delay: 0.1, usingSpringWithDamping: 0.5, initialSpringVelocity: 1.0, options: .curveEaseIn) {
|
imageView.transform = .init(scaleX: 1.0, y: 1.0)
|
imageView.alpha = 1
|
}
|
|
DispatchQueue.main.asyncAfter(delay: 2.5) {
|
UIView.animate(withDuration: 0.5) {
|
imageView.transform = .init(scaleX: 0.1, y: 0.1)
|
imageView.alpha = 0
|
} completion: { _ in
|
imageView.removeFromSuperview()
|
}
|
}
|
}
|
|
@IBAction func toMuse(_ sender: TapBtn) {
|
JQ_currentViewController().tabBarController?.selectedIndex = 0
|
}
|
}
|