获取UIBarItem的frame(UITabBarItem,UIBarButtonItem)

获取UIBarItem的frame,比在Bar的subViews里面遍历好很多, 废话不多说

extension UIBarItem {
   var frame: CGRect {
       guard let itemView = self.value(forKey: "view") as? UIView else {
           return .zero
       }
       //        itemView.backgroundColor = UIColor.red
       return itemView.frame
   }

   var frameConvertToWindow: CGRect {
       guard let itemView = self.value(forKey: "view") as? UIView else {
           return .zero
       }
       return itemView.convert(itemView.bounds, to: UIApplication.shared.keyWindow?.rootViewController?.view)
   }
}

你可能感兴趣的:(获取UIBarItem的frame(UITabBarItem,UIBarButtonItem))