iOS中坐标转换
坐标转换,可以用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中坐标转换的更多相关文章
- iOS中响应者链条-触摸事件,hitTest方法坐标转换
总体来说,分2个步骤: 一,从上到下寻找合适的控件来处理这个触摸事件.如下图,如果点击了黄色4,则UIApplication -> UIWindow -> 1白色 -> 2橙色 -& ...
- iOS中的事件处理
前言:iOS中事件处理,是一个非常重要也非常难得地方.涉及到响应者链的地方的面试题,非常多工作两三年的老鸟也未必能回答的非常专业.这里具体介绍一下iOS中的事件处理,以及响应者链. 1. 三大事件 触 ...
- iOS 中事件的响应链和传递链
iOS事件链有两条:事件的响应链:Hit-Testing事件的传递链 响应链:由离用户最近的view向系统传递.initial view –> super view –> ….. –> ...
- iOS中支付宝集成
iOS中支付宝集成 如今各种的App中都使用了三方支付的功能,现在将我在使用支付宝支付集成过程的心得分享一下,希望对大家都能有所帮助 要集成一个支付宝支付过程的环境,大致需要: 1>公司:先与支 ...
- iOS中数据库应用基础
iOS 数据库入门 一.数据库简介 1.什么是数据库? 数据库(Database) 是按照数据结构来组织,存储和管理数据的仓库 数据库可以分为2大种类 关系型数据库(主流) PC端 Oracle My ...
- 正则表达式在iOS中的运用
1.什么是正则表达式 正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式.正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分.它可以迅速地用极简单的方式 ...
- iOS 中的 HotFix 方案总结详解
相信HotFix大家应该都很熟悉了,今天主要对于最近调研的一些方案做一些总结.iOS中的HotFix方案大致可以分为四种: WaxPatch(Alibaba) Dynamic Framework(Ap ...
- iOS中使用正则
一.什么是正则表达式 正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式.正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分.它可以迅速地用极简单的方式 ...
- IOS中div contenteditable=true无法输入
在IOS中<div contenteditable="true"></div>中点击时可以弹出键盘但是无法输入.加一个样式-webkit-user-sele ...
随机推荐
- python subprocess.Popen 非阻塞
1.非阻塞设置subprocess.Popen(args, stdout=subprocess.PIPE,stderr=subprocess.PIPE) def non_block_read(outp ...
- wordpress stratus模板使用 产品显示问题
产品不显示,只显示展示产品代码. 1.研究原站demo,思考产品展示调用自woocommerce. 2.查看woocommerce文档,更新展示代码. 3.修改后产品出现,但是多余的关联推荐也展示出来 ...
- .NET (四)委托第四讲:内置委托Comparison
// 摘要: // 表示比较同一类型的两个对象的方法. // // 参数: // x: // 要比较的第一个对象. // // y: // 要比较的第二个对象. // // 类型参数: // T: / ...
- 采集的GPS数据如何正确显示在arcgis和cad中
利用GPS定位卫星,在全球范围内实时进行定位.导航的系统,称为全球卫星定位系统,简称GPS.GPS是由美国国防部研制建立的一种具有全方位.全天候.全时段.高精度的卫星导航系统,能为全球用户提供低成本. ...
- 一个解决adb5037端口被绑定问题的小程序-以管理员身份运行
@echo start adb... @rem 获取绑定的进程id输出到一个临时文件 @call netstat -ano |findstr " |findstr "LISTENI ...
- A way to connect to network through WIFI on Centos 7
I bought a DELL laptop,but can not connect to network through wifi.There's lots of methods on the In ...
- Tomcat并发数优化,修改service.xml性能调优 增加最大并发连接数
可以在控制台的启动信息里看见,默认状态下没有被打开nio配置,启动时的信息,如下: 2010-2-1 12:59:40 org.apache.coyote.http11.Http11Protocol ...
- PHP存储blob示例(转)
原文:http://www.mysqltutorial.org/php-mysql-blob/ <?php /* CREATE TABLE files ( id INT AUTO_INCREME ...
- VS SETUP项目更新的问题
用VS建立了一个SetUp类型的项目,build以后将生成的setup文件在机器上安装,然后再rebuild,再安装新生成的setup文件,会出现如下的提示信息: Another version of ...
- NodeJS 错误处理最佳实践
NodeJS的错误处理让人痛苦,在很长的一段时间里,大量的错误被放任不管.但是要想建立一个健壮的Node.js程序就必须正确的处理这些错误,而且这并不难学.如果你实在没有耐心,那就直接绕过长篇大论跳到 ...