做iOS开发,我们需要指定控件,文本,图片等显示在视图的位置,那么我们不可避免的和下面的三个结构打交道
CGPoint
CGSize
CGRect
注意:这三个是结构,不是类,所以在使用的时候一般不用指针。下面我们看这三个结构的定义。
struct CGPoint {
CGFloat x;
CGFloat y;
};
typedefstructCGPoint CGPoint;
/* Sizes. */
struct CGSize {
CGFloat width;
CGFloat height;
};
typedefstructCGSize CGSize;
/* Rectangles. */
struct CGRect {
CGPoint origin;
CGSize size;
};
typedefstructCGRect CGRect;
CGRect和前两者的关系如下图所示:

这三个结构分别有一个对应的生成函数:
生成函数 |
例子 |
CGPointMake (x, y) |
CGPoint point = CGPointMake (100.0, 200.0);
point.x = 300.0;
point.y = 30.0;
|
CGSizeMake (width, height) |
CGSize size = CGSizeMake (42.0, 11.0);
size.width = 100.0;
size.height = 72.0;
|
CGRectMake (x, y, width, height)
|
CGRect rect = CGRectMake (100.0, 200.0,
42.0, 11.0);
rect.origin.x = 0.0;
rect.size.width = 50.0;
|
在iOS编程中,坐标系统说明如下:
不论设备的方向如何,原点一定在屏幕的左上角,Y轴是从上到下,依次变大,X轴是从左到右,依次变大。
需要说明的几点
1.坐标和长度都是float型,
2.你可以指定一个屏幕外的值,甚至是负值,这个时候把屏幕想像成位于一个笛卡儿坐标系中即可,不过和普通的笛卡儿坐标系不同的是,第一象限在右下部。
分享到:
相关推荐
本篇文章将重点讨论“ios开发 常用第三方框架”中的一个具体实践:在UITableView中实现数据刷新时的header和footer动画,同时也会涉及与之相关的网络状态管理、图片加载、类扩展以及数据库操作等关键知识点。...
这个压缩包包含了一系列与iOS开发相关的源代码文件,这些文件反映了iOS应用从概念设计到实现的全过程。在深入探讨这些知识点之前,我们先了解一下iOS开发的基本框架和工具。 iOS开发主要使用Swift编程语言,这是一...
在这个结构中,view hierarchy的根是应用程序窗口(UIWindow)。 - **事件处理**:View需要处理各种事件,如触摸事件。 #### 三、子类化UIView和UIScrollView 子类化UIView是创建自定义UI组件的一种常用方法。通过...
在iOS开发中,为了提高开发效率和代码质量,开发者经常使用第三方类库。这些类库提供了许多原生SDK未涵盖的功能,例如数据持久化、网络请求、UI组件、动画效果等。以下是一些iOS开发中常用的第三方类库,以及它们的...
在iOS开发领域,手写代码是一项至关重要的技能,它能帮助开发者深入理解代码背后的机制,提升编程能力。本文将作为一份初级入门的指导教程,详细阐述iOS开发中的手写代码实践。 首先,我们要了解iOS开发的基本环境...
8. 高级话题:例如多线程编程、位置服务、音频视频播放和录制、第三方库集成等,这些话题通常需要开发者具备一定的基础知识后才能深入学习。 关于电子书资源分享的广告内容,我们可以了解到以下现象: 1. 电子书的...
"iOS开发中一些实用的Demo.zip"这个压缩包很可能是包含了多个示例项目,以供开发者参考和实践。其中,"iOS_Demo-master"可能是一个GitHub仓库的克隆,通常包含一个或多个iOS应用示例。 在iOS开发中,以下是一些关键...
### IOS开发指南5:基础知识与进阶技巧 #### 一、引言 《IOS开发指南5》是一本针对初学者的教程书籍,旨在通过由浅入深的方式带领读者步入iOS开发的大门。对于想要踏入iOS开发领域的学习者来说,本书不仅提供了...
【iOS开发基础】 在iOS开发领域,初学者通常会从学习Swift编程语言开始,这是苹果为iOS、iPadOS、macOS、watchOS和tvOS平台设计的编程语言。Swift语法简洁明了,易于理解,同时提供了强大的功能。通过阅读"从零开始...
在iOS开发中,实现类似微信发送位置功能,主要涉及到地理定位、地图展示、导航和街景等技术。这个功能让用户能够方便地分享他们的位置信息,或者查找并导航到特定地点。以下是对这一功能实现的详细说明: 1. **地理...
MVC是一种常见的软件设计模式,将应用分为模型(Model)、视图(View)和控制器(Controller)三个部分。在iOS开发中,模型存储数据,视图负责显示,控制器处理用户输入和数据更新。 五、Core Data Core Data是苹果...
这份"ios-iOS开发文档.zip"文件包含了关于iOS应用开发的重要信息,尤其是关于接口文档的书写。以下是针对这些主题的详细解释: 一、iOS开发文档 iOS开发文档通常包括以下几个部分: 1. **项目简介**:概述项目的...
标签部分列出了三个关键词,即 iOS 开发程序员应届生简历、简历模版。这些标签可以帮助招聘单位快速地找到合适的应届生。 四、部分内容:iOS 开发程序员应届生简历 部分内容部分主要对 iOS 开发程序员应届生的工作...
在iOS开发中,WebService是一个关键概念,用于实现应用程序与服务器之间的数据交互。本实例"ios开发实例WebService"提供了一个很好的学习资源,通过实际的代码演示了如何在iOS应用中使用WebService进行通信。以下是...
在iOS平台上进行智能家居开发,蓝牙技术扮演着至关重要的角色,特别是在构建智能硬件连接与控制的解决方案中。本文将深入探讨iOS中的蓝牙开发,包括蓝牙的基础概念、BLE(Bluetooth Low Energy)技术、Core ...
理解如何创建和管理UIViewController,使用UIStoryboard和Auto Layout设计用户界面,以及响应用户交互,都是iOS开发中的核心内容。 4. **Model-View-Controller (MVC)**: MVC是一种常见的软件设计模式,在iOS开发中...
### iOS开发指南第五版知识点概览 #### 一、iOS开发环境搭建与配置 - **Xcode介绍**:Xcode是苹果公司为开发者提供的官方集成开发环境(IDE),支持iOS、macOS、watchOS和tvOS的应用开发。本书将详细介绍Xcode的...
### iOS开发视频教程知识点概述 #### 一、iOS开发基础概览 - **iOS系统简介**:iOS是由苹果公司开发的移动操作系统,主要用于iPhone、iPad等设备。它以直观的操作界面、优秀的用户体验著称。 - **Swift语言入门**...
在iOS开发中,JSON(JavaScript Object Notation)数据解析是一个重要的环节,因为它是一种轻量级的数据交换格式,广泛用于Web服务和移动应用之间的数据传输。本文将深入探讨JSON在iOS开发中的作用,以及如何利用...
在iOS开发中,我们可以利用第三方库如ZFChart来创建折线图。ZFChart是一个强大的图表库,支持多种图表类型,包括折线图。要使用它,你需要将`ZFChart-master`文件夹导入到你的Xcode项目中,并遵循以下步骤: 1. ...