【技术】iOS 12.1 TabBar 偏移 Swift 版本

2018-11-30  本文已影响59人  1b3bd36d9d21
import UIKit

class APTabBar: UITabBar {
    
    var itemFrames = [CGRect]()
    var tabBarItems = [UIView]()
    
    
    override func layoutSubviews() {
        super.layoutSubviews()
        
        if itemFrames.isEmpty, let UITabBarButtonClass = NSClassFromString("UITabBarButton") as? NSObject.Type {
            tabBarItems = subviews.filter({$0.isKind(of: UITabBarButtonClass)})
            tabBarItems.forEach({itemFrames.append($0.frame)})
        }
        
        if !itemFrames.isEmpty, !tabBarItems.isEmpty, itemFrames.count == items?.count {
            tabBarItems.enumerated().forEach({$0.element.frame = itemFrames[$0.offset]})
        }
    }
}

重写TabBar

setValue(APTabBar(), forKey: "tabBar")

完美解决

上一篇 下一篇

猜你喜欢

热点阅读