杨锴
2024-09-11 7e417f3cdda6e7c1bd141867851e4944a429d067
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
//
//  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
                }
}