坐标系的变换

例子: 比如

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];

 

posted @ 2018-04-24 17:03  liuw_flexi  阅读(209)  评论(0编辑  收藏  举报