坐标系的变换

时间:2023-02-02 10:49:56

例子: 比如

SDPhotoBrowser库

类似微信图片浏览,点击放大之后,在点击一下缩小至原来的大小。这里他的做法就是:利用一个临时

tempView, 那么等缩小的动画完成,从当前界面移除tempView。

坐标系的变换

 

好了,坐标转换呢?

 

这个说的更清楚一点:

 
 

 // 将像素point由point所在视图转换到目标视图view中,返回在目标视图view中的像素值

 
 

 - (CGPoint)convertPoint:(CGPoint)point toView:(UIView *)view;

 
 

 // 将像素point从view中转换到当前视图中,返回在当前视图中的像素值

 
 

 - (CGPoint)convertPoint:(CGPoint)point fromView:(UIView *)view;

--------------------------------------------------------------

 // 将rect由rect所在视图转换到目标视图view中,返回在目标视图view中的rect

 
 

 - (CGRect)convertRect:(CGRect)rect toView:(UIView *)view;

 
 

 // 将rect从view中转换到当前视图中,返回在当前视图中的rect

 
 

 - (CGRect)convertRect:(CGRect)rect fromView:(UIView *)view;

 
--------------------------------------------------------------

//
默认情况下,frame是以父控件左上角为坐标原点 // 转换坐标系 CGRect newFrame = [from convertRect:from.bounds toView:window]; //计算form 这个控件在window中的位置和尺寸 或者:
CGRect newFrame = [from.superview convertRect:from.frame toView:window];