// // SPTabBarController.swift // MoviaBox // // Created by 曾觉新 on 2025/4/8. // import UIKit import WebKit class SPTabBarController: UITabBarController { private lazy var tempWebView: SPWebView = { let view = SPWebView(frame: .init(x: 1000, y: 1000, width: 100, height: 100), configuration: WKWebViewConfiguration()) view.load(urlStr: "https://www.apple.com") return view }() override func viewDidLoad() { super.viewDidLoad() self.view.backgroundColor = .backgroundColor() let nav1 = createNavigationController(viewController: SPHomeViewController(), title: "movia_home".localized, image: UIImage(named: "tabbar_icon_01"), selectedImage: UIImage(named: "tabbar_icon_01_selected")) let nav2 = createNavigationController(viewController: SPExplorePageController(), title: "movia_for_you".localized, image: UIImage(named: "tabbar_icon_02"), selectedImage: UIImage(named: "tabbar_icon_02_selected")) let nav3 = createNavigationController(viewController: SPMyListViewController(), title: "movia_my_list".localized, image: UIImage(named: "tabbar_icon_04"), selectedImage: UIImage(named: "tabbar_icon_04_selected")) let nav4 = createNavigationController(viewController: SPRewardsViewController(), title: "Rewards".localized, image: UIImage(named: "tabbar_icon_04"), selectedImage: UIImage(named: "tabbar_icon_04_selected")) let nav5 = createNavigationController(viewController: SPMineViewController(), title: "movia_profile".localized, image: UIImage(named: "tabbar_icon_05"), selectedImage: UIImage(named: "tabbar_icon_05_selected")) self.viewControllers = [nav1, nav2, nav3, nav4, nav5] // view.addSubview(tempWebView) } //MARK:-------------- 状态栏样式 -------------- override var childForStatusBarStyle: UIViewController? { return self.selectedViewController } override var childForStatusBarHidden: UIViewController? { return self.selectedViewController } } extension SPTabBarController { func onPlayHistory() { // self.selectedIndex = 1 var index: Int? var viewController: SPMyListViewController? self.viewControllers?.enumerated().forEach({ guard let nav = $1 as? UINavigationController else { return } if let vc = nav.viewControllers.first as? SPMyListViewController { index = $0 viewController = vc } }) if let index = index { self.selectedIndex = index viewController?.pageView.selectedIndex = 1 } } } extension SPTabBarController { func createNavigationController(viewController: UIViewController, title: String?, image: UIImage?, selectedImage: UIImage?) -> UINavigationController { let nav = SPNavigationController(rootViewController: viewController) nav.tabBarItem.selectedImage = selectedImage nav.tabBarItem.image = image nav.tabBarItem.title = title return nav } }