如何转换UIView坐标以在drawRect中使用?

时间:2012-09-25 07:26:21

标签: objective-c ios uiview core-graphics quartz-2d

我需要在自定义UIView上画一条线(即从左上角到右下角)。但是,据我所知,坐标系是不同的。

如何在这两个坐标系之间进行转换?

2 个答案:

答案 0 :(得分:2)

只要我们讨论UIView对象是其他UIView对象的子视图 - 非常正常的情况 - 每个View都与其下一个超级视图相关。 superview的左上角是(0,0)。

对于大多数只能正常工作的应用程序。在极少数情况下,可能需要将坐标从一个视图的子视图坐标系转换为另一个视图的坐标系。 UIView提供了方法

– convertPoint:toView:
– convertPoint:fromView:
– convertRect:toView:
– convertRect:fromView:

用于该用途。他们工作得很好。在使用它们之前,您应该重新考虑是否需要它并评估您当前的视图层次结构是否可以重新设计。 :)

答案 1 :(得分:1)

无论坐标系是什么,为什么不绘制它?不关心坐标系。