获取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)
}
}