坐标转换,可以用UIVIew的方法

//由要转换坐标view的superView执行该方法,rect为待转换view的frame,view是要显示到哪儿的
- (CGRect)convertRect:(CGRect)rect toView:(UIView *)view;

//由要转换到哪儿的view执行,rect为待转换view的frame,view是待转换view的superView
- (CGRect)convertRect:(CGRect)rect fromView:(UIView *)view;

来计算同一组件在不同view下的坐标。示例如下

- (void)viewDidLoad {
[super viewDidLoad]; self.view.backgroundColor = [UIColor whiteColor];
UIView *grayView = [[UIView alloc]initWithFrame:CGRectMake(, , kScreenWidth, )];
grayView.backgroundColor = [UIColor lightGrayColor];
[self.view addSubview:grayView]; UIView *brownView = [[UIView alloc]initWithFrame:CGRectMake(, , , )];
brownView.backgroundColor = [UIColor brownColor];
[grayView addSubview:brownView]; CGRect sonRectInController = [brownView.superview convertRect:brownView.frame toView:self.view];
CGRect sonRectInController2 = [self.view convertRect:brownView.frame fromView:brownView.superview];
NSLog(@"自己的%@", NSStringFromCGRect(brownView.frame));
NSLog(@"父类的%@", NSStringFromCGRect(sonRectInController));
NSLog(@"父类的2%@", NSStringFromCGRect(sonRectInController2));
}

效果如下

iOS中坐标转换的更多相关文章

  1. iOS中响应者链条-触摸事件,hitTest方法坐标转换

    总体来说,分2个步骤: 一,从上到下寻找合适的控件来处理这个触摸事件.如下图,如果点击了黄色4,则UIApplication -> UIWindow -> 1白色 -> 2橙色 -& ...

  2. iOS中的事件处理

    前言:iOS中事件处理,是一个非常重要也非常难得地方.涉及到响应者链的地方的面试题,非常多工作两三年的老鸟也未必能回答的非常专业.这里具体介绍一下iOS中的事件处理,以及响应者链. 1. 三大事件 触 ...

  3. iOS 中事件的响应链和传递链

    iOS事件链有两条:事件的响应链:Hit-Testing事件的传递链 响应链:由离用户最近的view向系统传递.initial view –> super view –> ….. –> ...

  4. iOS中支付宝集成

    iOS中支付宝集成 如今各种的App中都使用了三方支付的功能,现在将我在使用支付宝支付集成过程的心得分享一下,希望对大家都能有所帮助 要集成一个支付宝支付过程的环境,大致需要: 1>公司:先与支 ...

  5. iOS中数据库应用基础

    iOS 数据库入门 一.数据库简介 1.什么是数据库? 数据库(Database) 是按照数据结构来组织,存储和管理数据的仓库 数据库可以分为2大种类 关系型数据库(主流) PC端 Oracle My ...

  6. 正则表达式在iOS中的运用

    1.什么是正则表达式 正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式.正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分.它可以迅速地用极简单的方式 ...

  7. iOS 中的 HotFix 方案总结详解

    相信HotFix大家应该都很熟悉了,今天主要对于最近调研的一些方案做一些总结.iOS中的HotFix方案大致可以分为四种: WaxPatch(Alibaba) Dynamic Framework(Ap ...

  8. iOS中使用正则

    一.什么是正则表达式 正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式.正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分.它可以迅速地用极简单的方式 ...

  9. IOS中div contenteditable=true无法输入

    在IOS中<div contenteditable="true"></div>中点击时可以弹出键盘但是无法输入.加一个样式-webkit-user-sele ...

随机推荐

  1. ORA-12520:TNS:监听程序无法为请求的服务器类型找到可用的处理程序

    连接数太多 关掉没用的 plsql

  2. Jmeter组件8. BeanShell Sampler

    BeanShell是一个小巧免费的JAVA源码解释器,支持对象式的脚本语言特性,亦可嵌入到JAVA源代码中,能动态执行JAVA源代码并为其扩展了脚本语言的一些特性,像JavaScript和perl那样 ...

  3. shell return value

  4. AX7: HOW TO USE CLASS EXTENSION METHODS

    AX7: HOW TO USE CLASS EXTENSION METHODS   To create new methods on a standard AX class without custo ...

  5. Entity Framework学习笔记——错误汇总

    之前的小项目做完了,到了总结经验和更新学习笔记的时间了.开始正题之前先啰嗦一下,对之前的学习目标进行一个调整:“根据代码生成表”与“生成数据库脚本和变更脚本”合并为“Code First模式日常使用篇 ...

  6. java后台调用url无协议

    url格式不正确,可能有"www.baidu.com"    "这个不能有 // 下载pdf public void downpdf(String URL, String ...

  7. mysql 导出csv

    SELECT order_id,product_name,qty FROM ordersINTO OUTFILE '/tmp/orders.csv'FIELDS TERMINATED BY ','EN ...

  8. zend framework2 下载及安装

    1.安装XAMPP 2.安装zend studio 3.在GITHUB上下载一个zendframework模板,插入到IDE中 4.将下载的zend framework2文件夹解压放在vendor文件 ...

  9. python基础知识---正则

    一.python正则简介 python的re模块,让python能够支持perl正则 perl正则的字符集("."  "[abc]"   "(abc) ...

  10. node代码片段

    /** * Created by Administrator on 2016/8/22 0022. * chat */ var net=require('net'); var chatServer=n ...