杨锴
2024-08-14 909e20941e45f8712c012db602034b47da0bfdb0
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
//
//  BaseTabBarVC.swift
//  WanPai
//
//  Created by 杨锴 on 2023/6/8.
//
 
import UIKit
import JQTools
 
class BaseTabBarVC: UITabBarController {
 
                private var customBar = CustomTabbar()
 
    override func viewDidLoad() {
        super.viewDidLoad()
 
                                let home_nav = BaseNav(rootViewController: HomeVC())
                                home_nav.tabBarItem = UITabBarItem(title: "疗 愈", image: UIImage(named: "nav_1"), selectedImage: UIImage(named: "nav_1_select")!.withRenderingMode(.alwaysOriginal))
 
                                let course_nav = BaseNav(rootViewController: CourseVC())
                                course_nav.tabBarItem = UITabBarItem(title: "课 程", image: UIImage(named: "nav_2"), selectedImage: UIImage(named: "nav_2_select")!.withRenderingMode(.alwaysOriginal))
 
                                let pavilion_nav = BaseNav(rootViewController: PavilionVC())
                                pavilion_nav.tabBarItem = UITabBarItem(title: "疗愈馆", image: UIImage(named: "nav_3"), selectedImage: UIImage(named: "nav_3_select")!.withRenderingMode(.alwaysOriginal))
 
                                let me_nav = BaseNav(rootViewController: MeVC())
                                me_nav.tabBarItem = UITabBarItem(title: "我 的", image: UIImage(named: "nav_4"), selectedImage: UIImage(named: "nav_4_select")!.withRenderingMode(.alwaysOriginal))
 
                                viewControllers = [home_nav,course_nav,pavilion_nav,me_nav]
                                setValue(customBar, forKey: "tabBar")
                                customBar.unselectedItemTintColor = UIColor(hexStr: "#4E4E4E")
 
                                if #available(iOS 15.0, *) {
                                                let bar = UITabBarAppearance()
                                                bar.backgroundColor = .white
                                                bar.backgroundEffect = nil
                                                bar.shadowColor = .white
                                                tabBar.scrollEdgeAppearance = bar
                                                tabBar.standardAppearance = bar
                                } else {
                                                // Fallback on earlier versions
                                }
 
    }
}
 
class CustomTabbar:UITabBar{
                let transferBtn = UIButton(type: .custom)
 
                override init(frame: CGRect) {
                                super.init(frame: frame)
                                backgroundColor = .white
                                tintColor = Def_ThemeColor
                                isTranslucent = false
                                customTransferBtn()
                }
 
                override func sizeThatFits(_ size: CGSize) -> CGSize {
                                var sizeThatFits = super.sizeThatFits(size)
                                sizeThatFits.height = max(sizeThatFits.height, 101.5)
                                return sizeThatFits
                }
 
                override func layoutSubviews() {
                                super.layoutSubviews()
                                for (index,item) in subviews.enumerated() {
                                                if item.classForCoder == NSClassFromString("UITabBarButton"){
                                                                if index == 3{item.jq_x -= 20}
                                                                if index == 4{item.jq_x += 20}
                                                }
                                }
                                unselectedItemTintColor = UIColor(hexStr: "#4E4E4E")
                }
 
                /// 自定义中心按钮
                private func customTransferBtn(){
                                transferBtn.setImage(UIImage(named: "nav_center"), for: .normal)
                                addSubview(transferBtn)
 
                                transferBtn.snp.makeConstraints { make in
                                                make.top.equalTo(10)
                                                make.centerX.equalToSuperview()
                                                make.width.equalTo(55)
                                                make.height.equalTo(55)
                                }
                }
 
 
                required init?(coder: NSCoder) {
                                super.init(coder: coder)
                }
}