杨锴
2025-04-16 09a372bc45fde16fd42257ab6f78b8deeecf720b
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
104
105
106
107
108
109
110
111
112
113
//
//  TreeTeskDetailVC.swift
//  XQMuse
//
//  Created by 无故事王国 on 2024/9/11.
//
 
import UIKit
import SPPageMenu
import FFPage
import RxRelay
 
class TreeTeskDetailVC: BaseVC {
                @IBOutlet weak var view_top: UIView!
                @IBOutlet weak var label_energy: UILabel!
                
                private(set) var pageMenu:SPPageMenu = {
                                let pageMenu = SPPageMenu(frame: .zero, trackerStyle: .line)
                                // 追踪线
                                pageMenu.trackerWidth = 12
                                pageMenu.setTrackerHeight(2, cornerRadius:1)
                                pageMenu.trackerFollowingMode = .always
                                pageMenu.contentInset = UIEdgeInsets(top: 0, left: 19.5, bottom: 5, right: 19.5)
                                pageMenu.setItems(["全部","增加","扣除"], selectedItemIndex: 0)
                                pageMenu.backgroundColor = UIColor(hexString: "#F0F0F0")
                                pageMenu.tracker.backgroundColor = UIColor(hexString: "#8AAE65")
                                pageMenu.backgroundColor = .white
 
                                // 分割线
                                pageMenu.dividingLine.backgroundColor = UIColor(hexString: "#D4D4D4")
                                pageMenu.dividingLineHeight = 0.4
 
                                // item
//                                pageMenu.spacing = 27.0
                                pageMenu.permutationWay = .notScrollAdaptContent
 
                                // 字体
                                pageMenu.selectedItemTitleFont = Def_SourceHanSansCN_Regular(fontSize: 14)
                                pageMenu.unSelectedItemTitleFont = Def_SourceHanSansCN_Regular(fontSize: 14)
                                // 颜色
                                pageMenu.selectedItemTitleColor = UIColor(hexStr: "#8AAE65")
                                pageMenu.unSelectedItemTitleColor = .black.withAlphaComponent(0.6)
                                return pageMenu
                }()
 
                lazy var pageViewController:FFPageViewController = {
                                let pageVC = FFPageViewController()
                                pageVC.view.backgroundColor = .clear
                                pageVC.scrollview.backgroundColor = .clear
 
                                pageVC.scrollview.bounces = false
                                return pageVC
                }()
 
    override func viewDidLoad() {
        super.viewDidLoad()
                                title = "能量值明细"
 
                                Services.getTotalEnergy().subscribe(onNext: {[weak self] data in
                                                self?.label_energy.text = "\(data.data ?? 0)"
                                }).disposed(by: disposeBag)
    }
 
                override func setUI() {
                                view.addSubview(pageMenu)
                                pageMenu.delegate = self
                                pageMenu.snp.makeConstraints { make in
                                                make.left.right.equalToSuperview()
                                                make.top.equalTo(self.view_top.snp.bottom).offset(15)
                                                make.height.equalTo(44)
                                }
 
                                view.addSubview(pageViewController.view)
                                pageViewController.view.backgroundColor = .clear
                                pageViewController.delegate = self
                                pageViewController.view.snp.makeConstraints { make in
                                                make.top.equalTo(pageMenu.snp.bottom)
                                                make.left.right.bottom.equalToSuperview()
                                }
                }
 
                override func setRx() {
 
                }
}
 
extension TreeTeskDetailVC:SPPageMenuDelegate{
                func pageMenu(_ pageMenu: SPPageMenu, itemSelectedAt index: Int) {
                                pageViewController.scroll(toPage: index, animation: true)
                }
}
 
extension TreeTeskDetailVC:FFPageViewControllerDelegate{
 
                func pageViewController(_ pageViewController: FFPageViewController, currentPageChanged currentPage: Int) {
                                pageMenu.selectedItemIndex = currentPage
                }
 
                func totalPagesOfpageViewController(_ pageViewConteoller: FFPageViewController) -> UInt {
                                return 3
                }
 
                func pageViewController(_ pageViewConteoller: FFPageViewController, controllerForPage page: Int) -> UIViewController {
                                var type:TreeTeskDetailType!
                                switch page {
                                                case 1:type = .increase
                                                case 2:type = .decreate
                                                default:type = .all
                                }
                                let vc = TreeTeskDetailListVC(type: type)
                                return vc
                }
}