美文网首页
坐标系转换

坐标系转换

作者: 空城为谁留 | 来源:发表于2016-10-21 10:40 被阅读0次

相关方法如下:

  • (CGPoint)convertPoint:(CGPoint)point toView:(nullable UIView *)view;
  • (CGPoint)convertPoint:(CGPoint)point fromView:(nullable UIView *)view;
  • (CGRect)convertRect:(CGRect)rect toView:(nullable UIView *)view;
  • (CGRect)convertRect:(CGRect)rect fromView:(nullable UIView *)view;

判读两个控件是否有重叠

一.当两个控件共用一个父控件的时候,直接通过如下示例判断
CGRectIntersectsRect(view1.frame, view2.frame)

判断的2个函数如下

  • bool CGRectContainsRect(CGRect rect1, CGRect rect2)
    • 判断rect1是否包含了rect2
  • bool CGRectIntersectsRect(CGRect rect1, CGRect rect2)
    • 判断rect1和rect2是否有重叠
    • 注意:rect1和rect2要在同一个坐标系,比较结果才准确
二.当两个控件父控件不相同的时候

需要先将两个控件矩形框转换到同一个坐标原点下,再将转换后的矩形框传到如下方法中:

CGRectIntersectsRect(rect1, rect2)

转换坐标系相关方法总结

view2坐标系 : 以view2的左上角为坐标原点
view1坐标系 : 以view1的左上角为坐标原点

CGRect newRect = [view1 convertRect:rect fromView:view2];
// 让rect这个矩形框, 从view2坐标系转换到view1坐标系, 得出一个新的矩形框newRect
// rect和view2的含义 : 用来确定矩形框原来在哪

CGRect newRect = [view1 convertRect:rect toView:view2];
// 让rect这个矩形框, 从view1坐标系转换到view2坐标系, 得出一个新的矩形框newRect
// rect和view1的含义 :用来确定矩形框原来在哪

获得一个控件在window中的位置和尺寸

  • 以获得redView在window中的位置和尺寸为例
CGRect newRect = [[UIApplication sharedApplication].keyWindow convertRect:redView.bounds fromView:redView];
CGRect newRect = [[UIApplication sharedApplication].keyWindow convertRect:redView.frame fromView:redView.superview];
CGRect newRect = [redView convertRect:redView.bounds toView:[UIApplication sharedApplication].keyWindow];
CGRect newRect = [redView.superview convertRect:redView.frame toView:[UIApplication sharedApplication].keyWindow];
CGRect newRect = [redView convertRect:redView.bounds toView:nil];
CGRect newRect = [redView.superview convertRect:redView.frame toView:nil];

相关文章

  • 2018-03-04

    常用坐标系统知识点 1.坐标系统之间的转换 (1)坐标系分类 不同参心坐标系之间的转换、不同地心坐标系之间的转换;...

  • 地图坐标转换

    地图坐标转换 简介 各地图API坐标系统比较与转换; WGS84坐标系:即地球坐标系,国际上通用的坐标系。设备一般...

  • 高等数学预备知识

    极坐标 极坐标系是由极轴、极径组成极坐标系上的点表示为(ρ,θ)极坐标系上的点转换成直角坐标直角坐标系上的点转换成...

  • week51 坐标变换与坐标系变换

    坐标转换是一个坐标在不同坐标系下的表示,而坐标系转换不同坐标系的相对位姿关系。 TF介绍TF(TransForm)...

  • 地理坐标系转换 API 接口

    地理坐标系转换 API 接口 提供地理信息坐标系的相互转换。 1. 产品功能 支持多种地理信息坐标系; 高精度坐标...

  • 顶视图-世界坐标系-相机坐标系-Scara坐标系转换

    顶视图-世界坐标系-相机坐标系-Scara坐标系转换 1. 定义 Scara相机坐标系 标准相机坐标系 顶视图坐标...

  • Qt 绘图转换

    转换 QTransform 用于指定坐标系的 2D 转换 - 平移、缩放、扭曲(剪切)、旋转或投影坐标系。绘制图形...

  • 环境

    1. 导入需要的库 2. 定义三角函数用于坐标系转换 3. 定义转换矩阵:大地坐标系---->随体坐标系 4. 定...

  • 矢量图形坐标转换-wgs84与GCJ02互转

    借助WGIS,我们可以将WGS84坐标系下的任意图形转换为GCJ02坐标系,或者将GCJ02坐标系的图形转换为WG...

  • 超简单的canvas绘制地图

        本文使用geojson数据,通过缩放和平移把地图的地理坐标系转换canvas的屏幕坐标系,然后将转换后的数...

网友评论

      本文标题:坐标系转换

      本文链接:https://www.haomeiwen.com/subject/zvofuttx.html