//
//  WP_TabButton.swift
//  WallpaperHD_Live


import UIKit
import CYLTabBarController

class WP_TabButton: CYLPlusButton,CYLPlusButtonSubclassing {

    static func plusButton() -> Any {
        let button = WP_TabButton()
        
        button.setBackgroundImage(UIImage(named: "icon_add"), for: .normal)
//        button.sizeThatFits(CGSize(width: 40, height: 40))
        button.bounds = CGRect(x: 0, y: 0, width: 30, height: 30)
        button.titleLabel?.textAlignment = .center
        
        button.titleLabel?.font = UIFont.systemFont(ofSize: 15)
        
        button.adjustsImageWhenHighlighted = false
        button.addTarget(button, action: #selector(clickbtn), for: .touchUpInside)
        button.sizeToFit()
        
        return button
    }
    
    
   @objc func clickbtn(){
       let tabBarController = WP_TabButton.cyl_tabBarController()
          let viewController = tabBarController.selectedViewController

       let vc = WP_HomeVC()
       vc.modalPresentationStyle = .custom
       viewController?.present(vc, animated: true, completion: nil)
    }
    override func sizeThatFits(_ size: CGSize) -> CGSize {
        return CGSize(width: 30, height: 30)
    }

    /// MARK: 插入位置
    static func indexOfPlusButtonInTabBar() -> UInt {
        return 1
    }
    
    static func multiplier(ofTabBarHeight tabBarHeight: CGFloat) -> CGFloat {
        return 0.7
    }
    
    
    static func constantOfPlusButtonCenterYOffset(forTabBarHeight tabBarHeight: CGFloat) -> CGFloat {
        let screenHeight = UIScreen.main.nativeBounds.size.height;
        if screenHeight == 2436 || screenHeight == 1792 || screenHeight == 2688 || screenHeight == 1624 {
            return -40
        }
        return -30
    }
    
    static func shouldSelectPlusChildViewController() -> Bool {
        return true
    }
    
    override func layoutSubviews() {
        super.layoutSubviews()
        
        // tabbar UI layout setup
//        let imageViewEdgeWidth:CGFloat  = self.bounds.size.width * 0.5
        let imageViewEdgeWidth:CGFloat  = 40
//        let imageViewEdgeHeight:CGFloat = imageViewEdgeWidth * 0.5
        let imageViewEdgeHeight:CGFloat = 40
        let centerOfView    = self.bounds.size.width * 0.5
        let labelLineHeight = self.titleLabel!.font.lineHeight
        let verticalMargin = (self.bounds.size.height - labelLineHeight - imageViewEdgeHeight ) * 0.5
        
        let centerOfImageView = verticalMargin + imageViewEdgeHeight * 0.5
        let centerOfTitleLabel = imageViewEdgeHeight + verticalMargin * 2  + labelLineHeight * 0.5 + 10
        
        //imageView position layout
        self.imageView!.bounds = CGRect(x:0, y:0, width:30, height:30)
        self.imageView!.center = CGPoint(x:centerOfView, y:centerOfImageView)
        
        //title position layout
        self.titleLabel!.bounds = CGRect(x:0, y:0, width:self.bounds.size.width,height:labelLineHeight)
        self.titleLabel!.center = CGPoint(x:centerOfView, y:centerOfTitleLabel)
        
    }
    

}
