旋转的uiview的四个点的坐标

时间:2011-11-08 18:45:36

标签: iphone objective-c cocoa-touch uiview xcode4

有可能得到这个吗?如果是这样,有人可以告诉我怎么样?

2 个答案:

答案 0 :(得分:3)

  • 获取视图框架的四个点(view.frame
  • 检索应用于您的视图的CGAffineTransformview.transform
  • 然后使用CGPointApplyAffineTransform(以及CGAffineTransform Reference的兄弟方法
  • )将相同的仿射变换应用于四个点

答案 1 :(得分:1)

CGPoint topLeft = view.bounds.origin;
topLeft = [[view superview] convertPoint:topLeft fromView:view];

CGPoint topRight = CGPointMake(view.bounds.origin.x + view.bounds.width, view.bounds.origin.y);
topRight = [[view superview] convertPoint:topRight fromView:view];

// ... likewise for the other points

第一点是在视图的坐标空间中,它始终是“直立的”。然后,下一个语句在父视图的坐标空间中找到该点对应的点。注意未转换的视图,它等于view.frame.origin。上面的计算给出了转换视图的view.frame角的等价物。