Frame和Bounds的区别以及获取绝对坐标的办法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Frame和Bounds的区别以及获取绝对坐标的办法相关的知识,希望对你有一定的参考价值。

参考技术A 终于搞清楚了,UIView中的frame获取的是相对于所在ParentView的坐标,而bounds则是指UIView本身的坐标。
比如下图(假设A是屏幕):

View B的Frame坐标是指相对于View A的坐标,即(50,50),其bounds的坐标是(0,0)
View C的Frame坐标是指相对于View B的坐标,即(50,50). 但其bounds坐标依然是(0,0),但其绝对坐标是(100,100)

可以通过以下函数完成坐标体系在不同View之间的切换,如下面是完成当前View向ParentView坐标的转换(一个矩阵转换)

CGRect parentRect = [currentView convertRect:blankImageView.bounds toView:self.superview];本回答被提问者和网友采纳

以上是关于Frame和Bounds的区别以及获取绝对坐标的办法的主要内容,如果未能解决你的问题,请参考以下文章

IOS之frame和bounds区别

frame和bounds的区别

iOS frame和Bounds 以及frame和bounds区别

ios视图frame和bounds的对比

深入浅出了解frame和bounds

4. OC中frame与bounds有啥不同