OC convertRect
举个例子:
- redView = [[UIView alloc]initWithFrame:CGRectMake(50, 100, 100, 100)];
- redView.backgroundColor = [UIColor redColor];
- [self.view addSubview:redView];
- blueView = [[UIView alloc]initWithFrame:CGRectMake(50, 350, 100, 100)];
- blueView.backgroundColor = [UIColor blueColor];
- [self.view addSubview:blueView];
- // 这句代码的意思是blueView中的redView相对于self.view中的位置
- CGRect rect = [self.view convertRect:redView.frame fromView:blueView];
- // x:100.000000 y:450.000000 width:100.000000 height:100.000000
在redView上,blueview相对于blueview的位置
- CGRect rect = [blueView convertRect:blueView.frame fromView:redView];
- // x:50.000000 y:100.000000 width:100.000000 height:100.000000
- // 这句代码的意思是在blueView中,定义一个目标区域,该区域相对于window的位置(nil代表的是self.view.window)
- CGRect rect = [blueView convertRect:CGRectMake(50, 500, 20, 20) toView:nil];
- x:100.000000 y:850.000000 width:20.000000 height:20.000000
- // CGRect rect = [blueView convertRect:CGRectMake(150, 100, 20, 20) toView:redView];
- // x:50.000000 y:750.000000 width:20.000000 height:20.000000
- // 将像素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;
- 例把UITableViewCell中的subview(btn)的frame转换到 controllerA中
- // controllerA 中有一个UITableView, UITableView里有多行UITableVieCell,cell上放有一个button
- // 在controllerA中实现:
- CGRect rc = [cell convertRect:cell.btn.frame toView:self.view];
- 或
- CGRect rc = [self.view convertRect:cell.btn.frame fromView:cell];
- // 此rc为btn在controllerA中的rect
- 或当已知btn时:
- CGRect rc = [btn.superview convertRect:btn.frame toView:self.view];
- 或
- CGRect rc = [self.view convertRect:btn.frame fromView:btn.superview];
OC convertRect的更多相关文章
- iOS代码规范(OC和Swift)
下面说下iOS的代码规范问题,如果大家觉得还不错,可以直接用到项目中,有不同意见 可以在下面讨论下. 相信很多人工作中最烦的就是代码不规范,命名不规范,曾经见过一个VC里有3个按钮被命名为button ...
- 用C语言封装OC对象(耐心阅读,非常重要)
用C语言封装OC对象(耐心阅读,非常重要) 本文的主要内容来自这里 前言 做iOS开发的朋友,对OC肯定非常了解,那么大家有没有想过OC中NSInteger,NSObject,NSString这些对象 ...
- 嵌入式&iOS:回调函数(C)与block(OC)传 参/函数 对比
C的回调函数: callBack.h 1).声明一个doSomeThingCount函数,参数为一个(无返回值,1个int参数的)函数. void DSTCount(void(*CallBack)(i ...
- 嵌入式&iOS:回调函数(C)与block(OC)回调对比
学了OC的block,再写C的回调函数有点别扭,对比下区别,回忆记录下. C的回调函数: callBack.h 1).定义一个回调函数的参数数量.类型. typedef void (*CallBack ...
- WebViewJavascriptBridge源码探究--看OC和JS交互过程
今天把实现OC代码和JS代码交互的第三方库WebViewJavascriptBridge源码看了下,oc调用js方法我们是知道的,系统提供了stringByEvaluatingJavaScriptFr ...
- OC泛型
OC泛型 泛型是程序设计语言的一种特性,他主要是为了限制类型的,比如OC中的数组,你可以限制他里面装的是NSString类型,泛型的话JAVA和C++都有的,大家要是对泛型不了解的话可以去百度一下. ...
- iOS学习15之OC集合
1.数组类 1> 回顾C语言数组 数组是一个有序的集合, 来存储相同数据类型的元素. 通过下标访问数组中的元素,下标从 0 开始. 2> 数组 数组是一个有序的集合,OC中的数组只能存储对 ...
- JS 与OC 交互篇
完美记录交互 CSDN博客: (OC调用JS) http://blog.csdn.net/lwjok2007/article/details/47058101 (JS调用OC) http://blog ...
- OC中加载html5调用html方法和修改HTML5内容
1.利用webView控件加载本地html5或者网络上html5 2.设置控制器为webView的代理,遵守协议 3.实现代理方法webViewDidFinishLoad: 4.在代理方法中进行操作H ...
随机推荐
- codeforces水题100道 第二十一题 Codeforces Beta Round #65 (Div. 2) A. Way Too Long Words (strings)
题目链接:http://www.codeforces.com/problemset/problem/71/A题意:将长字符串改成简写格式.C++代码: #include <string> ...
- MyBatis批量更新for Mysql 实例
<update id="UpdatePwd" parameterType="java.util.List"> UPDATE FP_USER_BASE ...
- STL源码剖析—顺序容器
一.vector 1.vector简介: vector的数据安排及其操作方式与数组非常相似,微小的差别在于空间的使用,数组是静态空间,一旦配置了就不能改变.vector是动态空间,随着元素的加入,它的 ...
- 《转》windows下通过cmd切换python2和python3版本
当电脑中同时安装了python2和python3时,往往会由切换版本的需求.那么如何通过cmd命令行做到呢? 方法:修改python.exe的文件名 举个栗子: 我的电脑中同时安装了py2.7.10和 ...
- 【十大算法实现之naive bayes】朴素贝叶斯算法之文本分类算法的理解与实现
关于bayes的基础知识,请参考: 基于朴素贝叶斯分类器的文本聚类算法 (上) http://www.cnblogs.com/phinecos/archive/2008/10/21/1315948.h ...
- 一.jquery.datatables.js表格显示
2014年8月10日星期日 使用jquery.datatables.js取后台数据. 1.html代码 <table class="dataTables-example"&g ...
- 【WEB前端开发最佳实践系列】CSS篇
一.有效组织CSS代码 规划组织CSS代码:组织CSS代码文件,所有的CSS都可以分为2类,通用类和业务类.代码的组织应该把通用类和业务类的代码放在不同的目录中. 模块内部的另一样式规则:样式声明的顺 ...
- Android 使用tomcat搭建HTTP文件下载服务器
上一篇: Android 本地搭建Tomcat服务器供真机测试 1.假设需要下载的文件目录是D:\download1(注意这里写了个1,跟后面的名称区分) 2.设置 tomcat 的虚拟目录.在 {t ...
- 使用Maven命令安装jar包到仓库中
项目中可能会碰到很多jar包,使用maven update不能更新,或者jar包是拷贝过来,不能编译的情况.此时就需要手动使用命令行安装. 例如Demo项目中提示缺少四个jar包,但是在repo中已经 ...
- Cordova 3.3 开发环境搭建(视频)
图文文章参见: http://www.cnblogs.com/mlzs/p/3332199.html 视频共享链接 百度:http://pan.baidu.com/s/1c0EHfqC