Music_Player3/MusicPlayer/MP/MPSideA/Views/Base(基类-导航栏-标签栏)/MPSideA_CustomTabBarView.swift
2024-05-11 09:48:37 +08:00

70 lines
2.0 KiB
Swift

//
// MPCustomTabBarView.swift
// MusicPlayer
//
// Created by Mr.Zhou on 2024/3/27.
//
import UIKit
///tabBarView
class MPSideA_CustomTabBarView: UIView, instanceFromNibDelegate {
@IBOutlet weak var bgImageView: UIImageView!{
didSet{
bgImageView.layer.masksToBounds = true
bgImageView.layer.cornerRadius = 24*width
bgImageView.layer.maskedCorners = [.layerMinXMinYCorner,.layerMaxXMinYCorner]
}
}
@IBOutlet var tabBarItems: [MPSideA_CustomTabBarItem]!{
didSet{
//
tabBarItems.forEach { item in
item.isUserInteractionEnabled = true
item.title = titles[item.tag]
item.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(switchActionClick(_ :))))
}
}
}
private lazy var titles:[String] = ["Home","Center"]
//item()
private lazy var selectedItem:Int = 0
override func awakeFromNib() {
super.awakeFromNib()
setUpLayout()
}
override init(frame: CGRect) {
super.init(frame: frame)
setUpLayout()
}
required init?(coder: NSCoder) {
super.init(coder: coder)
}
deinit {
}
//
private func setUpLayout() {
backgroundColor = .clear
//
layer.masksToBounds = false
//item
tabBarItems[0].isSelected = true
}
//
@objc private func switchActionClick(_ sender:UITapGestureRecognizer) {
endEditing(true)
let tag = sender.view?.tag ?? 0
//tag
guard selectedItem != tag else {
//
return
}
tabBarItems.forEach { item in
item.isSelected = item.tag == tag
}
selectedItem = tag
//
NotificationCenter.notificationKey.post(notificationName: .switch_tabBarItem, object: tag)
}
}