Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2696946
  • 博文数量: 877
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 5921
  • 用 户 组: 普通用户
  • 注册时间: 2013-12-05 12:25
个人简介

技术的乐趣在于分享,欢迎多多交流,多多沟通。

文章分类

全部博文(877)

文章存档

2021年(2)

2016年(20)

2015年(471)

2014年(358)

2013年(26)

分类: iOS平台

2015-10-20 18:30:57

convertPoint的详细测试

http://gypgyp.iteye.com/blog/1552067
convertPoint本身并不难理解,但是下面的这些特殊情况一定要注意,经过测试,总结如下: 

UIView* fromView = [[UIView alloc] init]; 
[fromView convertPoint:aPoint toView:toView]; 
就是将fromView坐标系中的一个点转换为toView中的一个点。 

这时需要注意: 
1、如fromView是nil,则返回CGrectZero。 
   这种情况发生在view的init方法中; [self.superView convertPoint:aPoint toView:toView]; 
   此时的self.superView是nil。 
2、如果toView是nil则相当于:[fromView convertPoint:aPoint toView:selfView.window]; 
所以如果要将坐标转为相对于窗口的坐标,则只要如下就可以了: 
[fromView convertPoint:aPoint toView:nil]; 

3、fromView和toView还没有放到一个view中去,也就是没有对它们执行addSubview方法,此时它们的superView是nil。这种情况一定要小心了, 
   尽量不要这么作,因为view还没有建立明确的相对坐标系,这时cocoa框架一定很抓狂,作了很多假设,一般是以创建fromView和toView的那个view作为superView来处理的,但是并不确定。 
   所以一定要小心。
阅读(553) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~