convertPoint直接示例,把A上的点转换到B上:
[A convertPoint:point toView:B];
[B convertPoint:point fromView:A];
注意:point坐标的参考系是A视图,A和B的视图层次不需要关系。
convertRect直接示例,把A的frame转换到B上:
[A convertRect:A.bounds toView:B];
[B convertRect:A.bounds fromView:A];
注意:rect需要相对于A(同上一样,bounds就是A相对于自身的frame),A和B的视图层次不需要关系。
总结:
A视图转换某个位置(point或者frame)到B视图上,则point或者frame必须是参考A视图作为坐标系。
B视图把某个位置(point或者frame)转换到自身,这个位置是来自于A视图,则point或者frame必须是参考A视图作为坐标系。
一个意思两种表达方式,实质是一样,关键理清要转换的point或者frame正确的参考系。
看完之后可以测试,加深理解!如有其它问题,欢迎指正。
网友评论