美文网首页
获取控件相对屏幕位置

获取控件相对屏幕位置

作者: YN吾爱 | 来源:发表于2023-12-20 10:38 被阅读0次

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

    }

}

相关文章

网友评论

      本文标题:获取控件相对屏幕位置

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