62 lines
2.6 KiB
Swift
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
|
|
}
|
|
}
|