美文网首页
【技术】iOS 12.1 TabBar 偏移 Swift 版本

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

作者: 1b3bd36d9d21 | 来源:发表于2018-11-30 11:12 被阅读59次
    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")
    

    完美解决

    相关文章

      网友评论

          本文标题:【技术】iOS 12.1 TabBar 偏移 Swift 版本

          本文链接:https://www.haomeiwen.com/subject/iuwccqtx.html