let window:UIWindow = keyWindow()
let rect = window.convert(view.frame,from: view.superview)
let rect = view.superview!.convert(view.frame,from: window)
convertRect:fromView: 是指从view.superview上将当前的view.frame转换为相对于window上的frame,获得相对应的rect
convertRect:toView: 是指view.superview 将view.frame转换到window上,获得相对应的rect
获取window
func keyWindow() ->UIWindow{
if#available(iOS15.0, *) {
let keyWindow = UIApplication.shared.connectedScenes
.map({ $0as?UIWindowScene})
.compactMap({ $0 })
.first?.windows.first ?? UIWindow()
return keyWindow
}else{
let keyWindow = UIApplication.shared.windows.first ?? UIWindow()
return keyWindow
}
}
网友评论