1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- //
- // IHTabBarController.swift
- // Inhealth
- //
- // Created by weclouds on 2019/12/10.
- // Copyright © 2019 weclouds. All rights reserved.
- //
- import UIKit
- let kNotifactionIHTabBarControllerUpdateBadgeNumber = "kNotifactionIHTabBarControllerUpdateBadgeNumber"
- class IHTabBarController: UITabBarController {
- override func viewDidLoad() {
- super.viewDidLoad()
- NotificationCenter.default.addObserver(self, selector: #selector(notifyUpdateBadgeNumber(_:)), name: NSNotification.Name(kNotifactionIHTabBarControllerUpdateBadgeNumber), object: nil)
-
- //处理背景颜色
- let appearance = UITabBar.appearance()
- appearance.barTintColor = .white
- let line = UIView(frame: CGRect(x: 0, y: -0.5, width: KSCREENWIDTH, height: 0.5))
- //处理分割线
- line.backgroundColor = .white
- appearance.insertSubview(line, at: 0)
- addChildViewcontrollers()
-
- if Intermediate.hotelId == "" {
- IHAddressService.share.getFirstHotel { (hotelId, hotelName) in
- if let hotelId = hotelId{
- IHHomeService.share.getAlarmCountBadgeNumber(hotelId) { (badgeNumber) in
- let item = self.tabBar.items![3]
- if badgeNumber != "0"{
- item.badgeValue = badgeNumber
- }else{
- item.badgeValue = nil
- }
- }
- }
- }
- }else{
- IHHomeService.share.getAlarmCountBadgeNumber(Intermediate.hotelId) { (badgeNumber) in
- let item = self.tabBar.items![3]
- if badgeNumber != "0"{
- item.badgeValue = badgeNumber
- }else{
- item.badgeValue = nil
- }
- }
- }
- }
-
- deinit {
- NotificationCenter.default.removeObserver(self)
- }
- @objc func notifyUpdateBadgeNumber(_ notify:Notification) {
- let hotelId = notify.object as! String
- IHHomeService.share.getAlarmCountBadgeNumber(hotelId) { (badgeNumber) in
- let item = self.tabBar.items![3]
- if badgeNumber != "0"{
- item.badgeValue = badgeNumber
- }else{
- item.badgeValue = nil
- }
- }
- }
- func addChildViewcontrollers() {
-
- let dashboard = createSubViewController(controller: IHDashboardVCtr(), title: "概览", normalImage:"首页_未选中", selectedImage: "首页_选中")
- let area = createSubViewController(controller: IHAreaVCtr(), title: "房间", normalImage:"房间_未选中", selectedImage: "房间_选中")
- let equipment = createSubViewController(controller: IHEquipmentVCtr(), title: "设备", normalImage:"设备_未选中", selectedImage: "设备_选中")
- let service = createSubViewController(controller: IHServiceVCtr(), title: "维修", normalImage:"告警_未选中", selectedImage: "告警_选中")
- let tabArray = [dashboard,area,equipment,service]
- self.viewControllers = tabArray
- }
-
- func createSubViewController(controller:UIViewController,title:String,normalImage:String,selectedImage:String) -> IHNavigationController {
- // controller.title = title
- let navi = IHNavigationController(rootViewController: controller)
- navi.tabBarItem.title = title
- navi.tabBarItem.setTitleTextAttributes([NSAttributedString.Key.foregroundColor : UIColor(hexString: "#573F95") as Any], for: .selected)
- navi.tabBarItem.image = UIImage(named: normalImage)
- navi.tabBarItem.selectedImage = UIImage(named:selectedImage)?.withRenderingMode(.alwaysOriginal)
-
- return navi
- }
- }
|