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

终于搞清楚了,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];

posted @ 2013-08-06 11:40  如来藏  阅读(371)  评论(0编辑  收藏  举报