76 lines
3.1 KiB
Swift
76 lines
3.1 KiB
Swift
//
|
|
// NW_RootTabBarVC.swift
|
|
// wallpaper_BProject
|
|
//
|
|
// Created by 忆海16 on 2024/8/28.
|
|
//
|
|
|
|
import UIKit
|
|
|
|
class NW_RootTabBarVC: UITabBarController {
|
|
|
|
override func viewDidLoad() {
|
|
super.viewDidLoad()
|
|
|
|
let home = NW_HomeVC()
|
|
home.tabBarItem = UITabBarItem(title: "", image: UIImage(named: "home_n"), selectedImage: UIImage(named: "home_s"))
|
|
// home.tabBarItem.imageInsets = UIEdgeInsets(top: 5, left: 5, bottom: 5, right: 5)
|
|
|
|
let rank = NW_RankingVC()
|
|
rank.tabBarItem = UITabBarItem(title: "", image: UIImage(named: "ranking_n"), selectedImage: UIImage(named: "ranking_s"))
|
|
// rank.tabBarItem.imageInsets = UIEdgeInsets(top: 5, left: 5, bottom: 5, right: 5)
|
|
|
|
let community = NW_CommunityVC()
|
|
community.tabBarItem = UITabBarItem(title: "", image: UIImage(named: "community_n"), selectedImage: UIImage(named: "community_s"))
|
|
// community.tabBarItem.imageInsets = UIEdgeInsets(top: 5, left: 5, bottom: 5, right: 5)
|
|
|
|
|
|
let mine = NW_MineVC()
|
|
mine.tabBarItem = UITabBarItem(title: "", image: UIImage(named: "mine_n"), selectedImage: UIImage(named: "mine_s"))
|
|
// mine.tabBarItem.imageInsets = UIEdgeInsets(top: 5, left: 5, bottom: 5, right: 5)
|
|
|
|
viewControllers = [home, rank ,community,mine]
|
|
self.delegate = self
|
|
|
|
// 设置TabBar字体颜色
|
|
let normalAttributes: [NSAttributedString.Key: Any] = [
|
|
.foregroundColor: UIColor.gray,
|
|
.font: UIFont.systemFont(ofSize: 14, weight: .medium)
|
|
]
|
|
|
|
let selectedAttributes: [NSAttributedString.Key: Any] = [
|
|
.foregroundColor: UIColor.hexSting(color: "#2c2c2c", alpha: 1),
|
|
.font: UIFont.boldSystemFont(ofSize: 14)
|
|
]
|
|
|
|
UITabBarItem.appearance().setTitleTextAttributes(normalAttributes, for: .normal)
|
|
UITabBarItem.appearance().setTitleTextAttributes(selectedAttributes, for: .selected)
|
|
|
|
tabBar.barTintColor = UIColor.hexSting(color: "#F9F5F0", alpha: 1)
|
|
tabBar.shadowImage = UIImage()
|
|
tabBar.backgroundImage = UIImage()
|
|
|
|
}
|
|
|
|
}
|
|
extension NW_RootTabBarVC: UITabBarControllerDelegate {
|
|
func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {
|
|
if let tabBarItems = tabBarController.tabBar.items, let selectedViewControllerIndex = tabBarController.viewControllers?.firstIndex(of: viewController) {
|
|
let selectedItem = tabBarItems[selectedViewControllerIndex]
|
|
// 仅对选定项目应用缩放动画
|
|
let scaleAnimation = CABasicAnimation(keyPath: "transform.scale")
|
|
scaleAnimation.duration = 0.2
|
|
scaleAnimation.fromValue = 0.9
|
|
scaleAnimation.toValue = 1.1
|
|
scaleAnimation.autoreverses = true
|
|
scaleAnimation.repeatCount = 1
|
|
|
|
// 将动画应用于所选项目的视图
|
|
if let selectedView = selectedItem.value(forKey: "view") as? UIView {
|
|
selectedView.layer.add(scaleAnimation, forKey: nil)
|
|
}
|
|
}
|
|
return true
|
|
}
|
|
}
|