您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页UIView、NSView、Quartz2d及CALayer的坐

UIView、NSView、Quartz2d及CALayer的坐

来源:二三娱乐

序言:我们在UI界面布局时,绘图渲染是必须要用到坐标系,只有根据坐标系才能完成布局。苹果软件开发坐标系统跟我们平时生活中的坐标系还是不一样的,下面总结和梳理一下。

  • UIView的坐标系是左手坐标系,即坐标原点在屏幕左上角,这也是我们iOS开发运用最多的。
  • NSView的坐标系是右手坐标系,即坐标原点在屏幕左下角。

    另外MAC开发中有一个方法:- (BOOL)isFlipped; 这个方法默认返回NO,及坐标原地在屏幕左下角。重写该方法并返回YES,后便变成了左手坐标系。

  • Quartz 2d是跨平台的二维绘图引擎,其参照的坐标是右手坐标系,及原点在屏幕左下角。

    我们在iOS开发中,需要通过以下方法进行坐标转换,才能准确绘制出图形。

     CGContextTranslateCTM(context, 0, height);//1. 坐标往下移动屏幕的高度
     CGContextScaleCTM(context, 1.0, -1.0);//2. 坐标以X轴翻转
    

    如今UIKit的高层方法已经为我们做了坐标变换的工作,比如UIImage的drawInRect的方法等。

  • CALayer的坐标系比较特殊,在iOS系统中是左手坐标系,坐标原点在左上角;在MAC OS中是右手坐标系,坐标原点在左下角。

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务