//
//  CustomTabBar.swift
//  Funny_sounds
//
//  Created by 忆海16 on 2024/8/14.
//

import UIKit


class CustomTabBar: UITabBar {
    private let selectedBackgroundView = UIImageView(image: UIImage(named: "tabbars"))
    

    override func layoutSubviews() {
        super.layoutSubviews()

        // 将选中背景视图添加到 tabBar
        if !subviews.contains(selectedBackgroundView) {
            insertSubview(selectedBackgroundView, at: 0)
        }
        

        
        
        // 更新选中背景视图的位置
        updateSelectedBackgroundViewPosition()
    }

    func updateSelectedBackgroundViewPosition() {
        guard let selectedItem = self.selectedItem, let items = self.items else {
            selectedBackgroundView.isHidden = true
            return
        }
        
        guard let selectedIndex = items.firstIndex(of: selectedItem) else {
            selectedBackgroundView.isHidden = true
            return
        }
        
        let itemWidth = bounds.width / CGFloat(items.count)
        let xPosition = itemWidth * CGFloat(selectedIndex)
        selectedBackgroundView.frame = CGRect(x: xPosition, y: 0, width: itemWidth, height: bounds.height)
        selectedBackgroundView.isHidden = false
    }


    override var selectedItem: UITabBarItem? {
        didSet {
            updateSelectedBackgroundViewPosition()
        }
    }
}
