ReaderHive/ReaderHive/Base/VC/NRTabBarController.swift
2025-12-16 10:36:24 +08:00

62 lines
2.6 KiB
Swift

//
// NRTabBarController.swift
// ReaderHive
//
// Created by on 2025/11/21.
//
import UIKit
class NRTabBarController: UITabBarController {
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = .white
let nav1 = createNavigationController(title: "My List".localized, image: UIImage(named: "tab_bar_icon_01"), selectedImage: UIImage(named: "tab_bar_icon_01_selected"), viewController: NRMyListViewController())
let nav2 = createNavigationController(title: "Home".localized, image: UIImage(named: "tab_bar_icon_02"), selectedImage: UIImage(named: "tab_bar_icon_02_selected"), viewController: NRHomeViewController())
let nav3 = createNavigationController(title: "Explore".localized, image: UIImage(named: "tab_bar_icon_03"), selectedImage: UIImage(named: "tab_bar_icon_03_selected"), viewController: NRExploreViewController())
let nav4 = createNavigationController(title: "Me".localized, image: UIImage(named: "tab_bar_icon_04"), selectedImage: UIImage(named: "tab_bar_icon_04_selected"), viewController: NRMeViewController())
viewControllers = [nav1, nav2, nav3, nav4]
let appearance = UITabBarAppearance()
appearance.backgroundColor = .white
appearance.shadowColor = .clear
appearance.shadowImage = UIImage()
appearance.stackedLayoutAppearance.normal.titleTextAttributes = [
.font : UIFont.font(ofSize: 10, weight: .medium),
.foregroundColor : UIColor.black.withAlphaComponent(0.25)
]
appearance.stackedLayoutAppearance.selected.titleTextAttributes = [
.font : UIFont.font(ofSize: 10, weight: .medium),
.foregroundColor : UIColor.F_9710_D
]
self.tabBar.standardAppearance = appearance
self.tabBar.scrollEdgeAppearance = appearance
self.tabBar.isTranslucent = false
self.selectedIndex = 1
NRTool.checkUpdates()
}
override var childForStatusBarStyle: UIViewController? {
return selectedViewController
}
override var childForStatusBarHidden: UIViewController? {
return selectedViewController
}
private func createNavigationController(title: String, image: UIImage?, selectedImage: UIImage?, viewController: UIViewController) -> UINavigationController {
let nav = NRNavigationController(rootViewController: viewController)
nav.tabBarItem.image = image
nav.tabBarItem.selectedImage = selectedImage
nav.tabBarItem.title = title
return nav
}
}