iOS开发小结 - UIView的坐标转换

本文详细介绍了UIView中的四个坐标转换方法:convertPoint与convertRect的方法及其使用场景,包括如何将坐标点或矩形区域从一个视图转换到另一个视图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在开发过程中,我们经常为了计算UIView的坐标而烦恼,其实UIView有一套专门关于坐标转换的扩展,下面我们看看有哪些方法


关于UIView的左边转换一共有一下四个方法,分别是:

  • public func convertPoint(point: CGPoint, toView view: UIView?) -> CGPoint

  • public func convertPoint(point: CGPoint, fromView view: UIView?) -> CGPoint

  • public func convertRect(rect: CGRect, toView view: UIView?) -> CGRect

  • public func convertRect(rect: CGRect, fromView view: UIView?) -> CGRect

下面分别分析一下以上四个方法如何使用:

func convertPoint(_ point: CGPoint, toView view: UIView?) -> CGPoint

官方的解释是,将一个点从接收器的坐标点转换为指定视图的相对应的坐标点

参数参数解释
point就是你需要转换的UIView上的一个坐标点CGPoint
view需要转换到的指定的UIView,如果这个值为nil,那将转化为当前UIWindow上的对应的坐标,并且这两个UIView必须在同一个UIWindow下才能转换

func convertRect(_ rect: CGRect, toView view: UIView?) -> CGRect

官方的解释是,将一个CGRect从接收器的坐标点转换为指定视图的相对应的CGRect

参数参数解释
rect就是你需要转换的UIView上的一个CGRect
view需要转换到的指定的UIView,如果这个值为nil,那将转化为当前UIWindow上的对应的CGRect,并且这两个个UIView必须在同一个UIWindow下才能转换

func convertPoint(_ point: CGPoint, fromView view: UIView?) -> CGPoint

官方的解释是,将一个CGPoint从一个给定视图的坐标系转换为接收UIView的一个CGPoint,意思就是跟之前的toView是相反的,是把指定UIView的点转换到接受者的UIView上。

参数参数解释
point就是你需要转换的UIView上的一个CGPoint
view需要转换的指定的UIView,如果这个值为nil,那将转化为当前UIWindow上的对应的CGPiont,并且这两个个UIView必须在同一个UIWindow下才能转换

func convertRect(_ rect: CGRect, fromView view: UIView?) -> CGRect

官方的解释是,将一个CGRect从一个给定视图的坐标系转换为接收UIView的一个CGRect,意思就是跟之前的toView是相反的,是把指定UIView的点转换到接受者的UIView上。

参数参数解释
rect就是你需要转换的UIView上的一个CGRect
view需要转换的指定的UIView,如果这个值为nil,那将转化为当前UIWindow上的对应的CGRect,并且这两个个UIView必须在同一个UIWindow下才能转换

总结:其实convertPoint(_ point: CGPoint, toView view: UIView?)func convertPoint(_ point: CGPoint, fromView view: UIView?) -> CGPoint是一对相反的存在,只要弄懂了其中的一个,另外一个就非常好理解了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值