prank/Funny_sounds/Main/RootTabBarVC.swift
2024-09-03 09:38:34 +08:00

78 lines
3.1 KiB
Swift

//
// RootTabBarVC.swift
// Funny_sounds
//
// Created by 16 on 2024/8/14.
//
import UIKit
class RootTabBarVC: UITabBarController {
override func viewDidLoad() {
super.viewDidLoad()
let collectVC = FS_CollectVC()
collectVC.tabBarItem = UITabBarItem(title: "", image: UIImage(named: "collect"), selectedImage: UIImage(named: "collect"))
collectVC.tabBarItem.imageInsets = UIEdgeInsets(top: 15, left: 0, bottom: -15, right: 0)
let homeVC = FS_HomeVC()
homeVC.tabBarItem = UITabBarItem(title: "", image: UIImage(named: "home"), selectedImage: UIImage(named: "home"))
homeVC.tabBarItem.imageInsets = UIEdgeInsets(top: 15, left: 0, bottom: -15, right: 0)
let settingVC = FS_SettingVC()
settingVC.tabBarItem = UITabBarItem(title: "", image: UIImage(named: "setting"), selectedImage: UIImage(named: "setting"))
settingVC.tabBarItem.imageInsets = UIEdgeInsets(top: 15, left: 0, bottom: -15, right: 0)
let recording = testRecording()
recording.tabBarItem = UITabBarItem(title: "", image: UIImage(named: "setting"), selectedImage: UIImage(named: "setting"))
recording.tabBarItem.imageInsets = UIEdgeInsets(top: 15, left: 0, bottom: -15, right: 0)
viewControllers = [collectVC, homeVC ,recording,settingVC]
self.delegate = self
// 使 CustomTabBar
let customTabBar = CustomTabBar()
setValue(customTabBar, forKey: "tabBar")
customTabBar.backgroundImage = UIImage(named: "tabbarbg")
customTabBar.backgroundColor = UIColor.hexSting(color: "#003954", alpha: 1)
self.selectedIndex = 1
}
// override func viewDidLayoutSubviews() {
// super.viewDidLayoutSubviews()
//
// //
// if let customTabBar = tabBar as? CustomTabBar {
// customTabBar.backgroundImage = UIImage(named: "tabbarbg")
// customTabBar.backgroundColor = UIColor.hexSting(color: "#003954", alpha: 1)
// }
// }
}
extension 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
}
}