87 lines
3.1 KiB
Swift
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
|
|
}
|
|
|
|
}
|