MoviaBox/MoviaBox/Base/Controller/SPTabBarController.swift
2025-05-12 14:20:00 +08:00

87 lines
3.1 KiB
Swift

//
// 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: "movia_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
}
}