IOS深入学习(4)之Coordinate System
1 前言
在IOS中相信大家会经常跟一些bounds,frame之类的打交道,这不免会涉及坐标系统,今天我们就来介绍一下Coordinate System(坐标系)。
2 详述
坐标系统是定位,大小,转变,绘制可视化对象和定位用户事件的时候的双向的空间。IOS和OS X应用中根据定位点通过相较于一个共同的原点(0.0,0.0)的水平和垂直的轴线(x-轴,y-轴)的坐标系统,正值沿着坐标轴的方向增长;而负值沿着相反的方向增长。我们表达一个点在坐标空间,通过一对浮点数在去掉任何单位在设备空间中(例如像素)的用户空间单位。绘画经常发生在坐标空间的一个x-轴和y-轴坐标确定的扇形区域。
2.1 IOS中和OS X中坐标系统拥有不同方向
OS X:原点位于左下角,x-轴向右延伸,y-轴向上延伸。
IOS:原点位于左上角,x-轴向右延伸,y-轴向下延伸。
2.2 Windows和Views拥有他们自己的坐标系统
一个应用程序在任何显示的时候都拥有多重的坐标系统。Window在为了显示而被坐标系统定义的屏幕坐标进行定位和确定大小。Window自己代表了基本的对于通过它自己的Views绘画和事件处理坐标系。窗口中的每一个视图为绘制自己维持着他自己的局部坐标,这个坐标系统通过视图的bounds属性定义。视图的frame属性表达了它的位置和大小在其父视图的坐标系统中。视图可以轮流为其子视图提供基本的坐标系统用于定位和确定大小。
在AppKit和UIKit框架中都提供了在一个视图和另一个视图,视图和窗口,屏幕和窗口(OS X中)的坐标系间进行转化点和矩形区域的方法。一个应用程序在窗口坐标系统中定位鼠标,表格,手势和多重操作事件,但是可以简单的把他们转化成本地坐标系统。
我们还可以映射多个点从一个坐标空间到另一个通过已知的用来转换的双向空间的数组,通过转化,我们能够很容易的按比例缩放,旋转,平移内容在双向空间中。
3 结语
以上是所有内容,希望对大家有所帮助。
IOS深入学习(4)之Coordinate System的更多相关文章
- Coordinate System
Coordinate System Introduction of Different Coordinate Systems Cartesian Coordinate System UI Coordi ...
- IOS基础学习-2: UIButton
IOS基础学习-2: UIButton UIButton是一个标准的UIControl控件,UIKit提供了一组控件:UISwitch开关.UIButton按钮.UISegmentedContro ...
- iOS阶段学习第一天笔记(Mac终端的操作)
前言部分 原本从事的是.NET开发,一直在要不要转iOS 中犹豫徘徊,经过复杂的内心挣扎终于鼓起勇气辞职脱产学习iOS;希望通过四个月的 学习后能够拿到理想的薪资.以下是学习过程中的学习笔记,为了方便 ...
- ios网络学习------4 UIWebView的加载本地数据的三种方式
ios网络学习------4 UIWebView的加载本地数据的三种方式 分类: IOS2014-06-27 12:56 959人阅读 评论(0) 收藏 举报 UIWebView是IOS内置的浏览器, ...
- ios网络学习------6 json格式数据的请求处理
ios网络学习------6 json格式数据的请求处理 分类: IOS2014-06-30 20:33 471人阅读 评论(3) 收藏 举报 #import "MainViewContro ...
- iOS之学习资源收集--很好的IOS技术学习网站
点击图片也能打开相关的网站: https://boxueio.com/skill/swift http://ios.b2mp.cn/ http://gold.xitu.io/welcome/?utm_ ...
- ios开发之OC基础-ios开发学习路线图
本系列的文章主要来自于个人在学习前锋教育-欧阳坚老师的iOS开发教程之OC语言教学视频所做的笔记,边看视频,边记录课程知识点.建议大家先过一遍视频,在看视频的过程中记录知识点关键字,把把握重点,然后再 ...
- iOS手势学习UIGestureRecognizer & cocos2d 手势推荐
iOS手势学习UIGestureRecognizer & cocos2d 手势推荐 手势识别类型: UILongPressGestureRecognizer // 长按UIPanGestur ...
- 开源中国iOS客户端学习
开源中国iOS客户端学习 续写前言 <开源中国iOS客户端学习>续写前系列博客 http://blog.csdn.net/column/details/xfzl-kykhd.html ...
随机推荐
- find详解
一.简介 在目录结构中搜索文件,并执行指定的操作. 二.语法 find path -option [ -print ] [ -exec -ok command ] {} \;path: find命令所 ...
- eclipse php 开发环境配置
一般常用的是eclipse+pdt.我是直接下载的Eclipse for php :http://www.eclipse.org/downloads/packages/eclipse-php-deve ...
- 关于tomcat startup.bat启动后一闪而过的问题(转)
1.如果双击startup.bat,窗口一闪而过,可以在命令行里面启动startup.bat: 2.如果命令行里面启动startup.bat情况还是这样,就可以在bat命令后面加上pause.这样就 ...
- 关于Microsoft app下同义词的整理
Windows os 以下词表达的是同一个概念 windows store app windows metro app windows modern app windows runtime app w ...
- 用CSS/CSS3 实现 水平居中和垂直居中的完整攻略
水平居中:行内元素解决方案 只需要把行内元素包裹在一个属性display为block的父层元素中,并且把父层元素添加如下属性即可: .parent { text-align:center; } 水 ...
- 下拉框Html.DropDownList 和DropDownListFor 的经常用法
一.非强类型: Controller: ViewData["AreId"] = from a in rp.GetArea() ...
- 初步swift语言学习笔记9(OC与Swift杂)
笔者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/34440159 转载请注明出处 假设认为文章对你有所帮助,请通过留言 ...
- Andriod布局之LinearLayout
LinearLayout是安卓中的常见布局,即线性布局.(提示:在Andriod中要常用alt+/快捷键来补全代码 其中有一个重要的属性android:orientation,它是表示线性布局的方向问 ...
- 前端--关于javascript函数
终于可以说说函数了,函数是javascript设计最出色的地方,可以说它是所有概念中最重要的一个,因为围绕函数而阐述的周边概念涵盖了javascript的方方面面,所以理解了函数可以说对javascr ...
- 如何在asp.net中如何在线播放各类视频文件
一.后台拼字符串动态加载写法 前台调用代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &q ...