在使用 UITableViewCell 的frame属性获取origin得到的坐标是不变的.

也就是说如果UITableView初始化完毕后,每个cell的坐标是固定的,x不变,y 随index递增的.

经过测试发现,任何一个cell拖拽或则滑动到UITableView的任意相对位置,cell的frame属性都没有改变.

那怎样获取UITableViewCell相对于UITableView的坐标?

google中 http://stackoverflow.com/questions/687793/determine-coordinates-of-a-uitableviewcell-while-scrolling

得出,使用

[objc] view plaincopy
CGRect rectInTableView = [tableView rectForRowAtIndexPath:indexPath];

CGRect rect = [tableView convertRect:rectInTableView toView:[tableView superview]];
即可完成当前cell在屏幕中的坐标值

将像素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];

转载于:https://www.cnblogs.com/yate1996/p/4691027.html

UIView中的坐标转换相关推荐

  1. iOS开发笔记--UIView中的坐标转换

    [objc] view plaincopy // 将像素point由point所在视图转换到目标视图view中,返回在目标视图view中的像素值 - (CGPoint)convertPoint:(CG ...

  2. UIView中常用的方法

    UIView 中常见的方法总结 addSubview:  添加一个子视图到接收者并让它在最上面显示出来.  - (void)addSubview:(UIView *)view  讨论  这方法同样设置 ...

  3. UIView 中常见的方法总结

    UIView 中常见的方法总结 addSubview:  添加一个子视图到接收者并让它在最上面显示出来.  - (void)addSubview:(UIView *)view  讨论  这方法同样设置 ...

  4. Android开发高德地图定位中GPS坐标转换

    这两天因为需要开始接触地图开发的内容,所以开始搜索有没有一些好的第三方地图,现在市面上大多数使用的都是百度地图,而谷歌地图因为一些原因,在国内无法提供服务,虽然百度地图的UI比较友好,定位更加准确,但 ...

  5. UIView中常见的方法汇总

    addSubview:  添加一个子视图到接收者并让它在最上面显示出来.  - (void)addSubview:(UIView *)view 总结:这个方法同样设置了接收者为下一个视图响应对象.接收 ...

  6. slam 基础之机器人学中的坐标转换学习总结

    常用的坐标系是右手系,ros中也是如下图: 坐标变换: 习惯上,我们表示一个物体的三维位置和朝向时,都会在其身上附一个随动的坐标系.所以描述一个物体在坐标系中的位置和朝向,总是可以等效为描述物体自身坐 ...

  7. 经纬度定义、经纬度格式、GDAL中地理坐标转换及地理坐标屏幕显示

    一直在做遥感图像处理的东西,多是一些数字图像处理的分类算法,忘了自己竟是学地学这块的,现在连基本的经纬线都忘了,真是惭愧!现补充如下,以备后用. 关于经纬度的相关定义: 经线: 经线也称子午线,是人类 ...

  8. ROS中的坐标转换1

    ​ 1.坐标转换 坐标转换是指坐标系之间的平移以及旋转关系,如坐标系A,B,C.A,B之间存在一个转换关系 T B A T_{B}^{A} TBA​,B与C之间存在转换关系 T C B T_{C}^{ ...

  9. 度分 格式 转换 GPS 经纬度定义、经纬度格式、GDAL中地理坐标转换及地理坐标屏幕显示

    转自:http://blog.csdn.net/lijie45655/article/details/6771524 手持GPS,正在学习当中,晚上我在谷歌地球上找到端午节要去的目的地,找出了它的经纬 ...

  10. Excel中进行坐标转换:度分秒转为度

    =LEFT(A2, FIND("°", A2)-1) + MID(A2, FIND("°", A2)+1, FIND("′", A2)-FI ...

最新文章

  1. 论文标题,这么写才算好!
  2. sparkContext之一:sparkContext的初始化分析
  3. 基于 Spring Boot 的车牌识别系统(附项目地址)
  4. Eclipse反编译工具Jad及插件JadClipse配置
  5. MD5和SHA加密实现
  6. QT的QStack类的使用
  7. Python之数据分析(Numpy的数组切片、数组变维、组合与拆分)
  8. Python Day17 Django 03
  9. C++中泛型使用导致的膨胀问题
  10. 【思科模拟器基本使用】
  11. 单变量微积分(二):关于sinx和cosx的求导的推导
  12. 2.1 新版个人所得税计算
  13. linux搭建智能dns步骤,Linux下智能DNS配置过程
  14. JavaWeb学习:session
  15. 云+社区【玩转腾讯云】征文活动,COSCI更有额外奖励
  16. 在Linux系统上安装Git
  17. utf8和utf-8
  18. 天才程序员:我不是一个好的示范
  19. 物理dataguard 正常切换 脚色转换,switchover_status 状态改变
  20. 如果回到十八岁,我要对自己说...... .

热门文章

  1. php 多选按钮,单选和多选按钮如何给图片加样式
  2. 【天梯选拔月赛】经典算法之过河问题+(倒水问题--见链接)
  3. python中字符串转元组时的小技巧
  4. STM32——库函数版——12864点阵显示屏驱动
  5. for的循环在php那边使用,for循环如何在php怎么中使用
  6. javamailsender注入失败_使用Spring3.x框架的java mail支持来发送邮件
  7. java map存储格式_java HashMap HashSet的存储方式
  8. TSAP(1) : DateTimes
  9. C/C++[codeup 1962]单词替换
  10. 2021-09-1427. 移除元素