官方提供了4個方法(UIView的方法):
-(CGPoint)convertPoint:(CGPoint)point toView:(nullable UIView *)view;//點轉(zhuǎn)換
-(CGPoint)convertPoint:(CGPoint)point fromView:(nullable UIView *)view;//點轉(zhuǎn)換
-(CGRect)convertRect:(CGRect)rect toView:(nullable UIView *)view;//矩形轉(zhuǎn)換
-(CGRect)convertRect:(CGRect)rect fromView:(nullable UIView *)view;//矩形轉(zhuǎn)換

屏幕快照 2016-12-08 下午7.40.22.png
獲取redView在self.view坐標(biāo)系中的坐標(biāo)(以下兩種寫法等效):
CGPoint redCenterInView = [self.grayView convertPoint:self.redView.center toView:self.view];
CGPoint redCenterInView = [self.view convertPoint:self.redView.center fromView:self.grayView];
使用注意:
1.使用convertPoint:toView:時,調(diào)用者應(yīng)為covertPoint的父視圖。即調(diào)用者應(yīng)為point的父控件。toView即為需要轉(zhuǎn)換到的視圖坐標(biāo)系,以此視圖的左上角為(0,0)點。
2.使用convertPoint:fromView:時正好相反,調(diào)用者為需要轉(zhuǎn)換到的視圖坐標(biāo)系。fromView為point所在的父控件。
3.toView可以為nil。此時相當(dāng)于toView傳入self.view.window