iOS坐標(biāo)轉(zhuǎn)換注意

官方提供了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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容