| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- //
- // LNMainViewController.swift
- // Lanu
- //
- // Created by OneeChan on 2025/12/2.
- //
- import Foundation
- import UIKit
- class LNMainViewController: UITabBarController {
- override func viewDidLoad() {
- super.viewDidLoad()
- LNEventDeliver.addObserver(self)
-
- // if #available(iOS 26, *) {
- // let container = tabBar.subviews.first
- // container?.layer.shadowColor = UIColor.black.withAlphaComponent(0.2).cgColor
- // container?.layer.shadowOffset = .init(width: 0, height: 2)
- // container?.layer.shadowRadius = 6
- // container?.layer.shadowOpacity = 0.8
- // container?.layer.masksToBounds = false
- // } else {
- let tabBar = LNMainTabBar()
- tabBar.delegate = self
- setValue(tabBar, forKey: "tabBar")
- // }
-
- let home = LNHomeViewController()
- home.tabBarItem.image = .icMainHomeDefault.withRenderingMode(.alwaysOriginal)
- home.tabBarItem.selectedImage = .icMainHomeSelected.withRenderingMode(.alwaysOriginal)
-
- let message = LNIMConversationListController()
- message.tabBarItem.image = .icMainChatDefault.withRenderingMode(.alwaysOriginal)
- message.tabBarItem.selectedImage = .icMainChatSelected.withRenderingMode(.alwaysOriginal)
-
- let mine = LNMineViewController()
- mine.tabBarItem.image = .icMainMineDefault.withRenderingMode(.alwaysOriginal)
- mine.tabBarItem.selectedImage = .icMainMineSelected.withRenderingMode(.alwaysOriginal)
-
- viewControllers = [home, message, mine]
-
- if let mainTabBar = tabBar as? LNMainTabBar {
- mainTabBar.setupViews()
- }
-
- selectedViewController = message // 触发消息界面加载逻辑
- selectedViewController = home
-
- delegate = self
- }
-
- override func viewWillAppear(_ animated: Bool) {
- super.viewWillAppear(animated)
-
- navigationController?.setNavigationBarHidden(true, animated: animated)
- }
- }
- extension LNMainViewController: UITabBarControllerDelegate {
- func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {
- if viewController is LNHomeViewController { return true }
-
- if !hasLogin {
- LNLoginPanel.show(container: view)
-
- }
- return hasLogin
- }
- }
- extension LNMainViewController: LNProfileManagerNotify, LNNetworkMonitorNotify {
- func onUserInfoChanged(userInfo: LNUserProfileVO) {
- guard userInfo.userNo.isMyUid else { return }
-
- if !userInfo.isAvailable {
- view.pushToGenderSetup()
- }
- }
- }
|