`
sogotobj
  • 浏览: 661673 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

iOS开发关于位置的三个结构

 
阅读更多

做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开发 常用第三方框架

    本篇文章将重点讨论“ios开发 常用第三方框架”中的一个具体实践:在UITableView中实现数据刷新时的header和footer动画,同时也会涉及与之相关的网络状态管理、图片加载、类扩展以及数据库操作等关键知识点。...

    《iOS开发项目化入门教程》源代码

    这个压缩包包含了一系列与iOS开发相关的源代码文件,这些文件反映了iOS应用从概念设计到实现的全过程。在深入探讨这些知识点之前,我们先了解一下iOS开发的基本框架和工具。 iOS开发主要使用Swift编程语言,这是一...

    iOS UI开发详解

    在这个结构中,view hierarchy的根是应用程序窗口(UIWindow)。 - **事件处理**:View需要处理各种事件,如触摸事件。 #### 三、子类化UIView和UIScrollView 子类化UIView是创建自定义UI组件的一种常用方法。通过...

    ios开发常用的第三方类库

    在iOS开发中,为了提高开发效率和代码质量,开发者经常使用第三方类库。这些类库提供了许多原生SDK未涵盖的功能,例如数据持久化、网络请求、UI组件、动画效果等。以下是一些iOS开发中常用的第三方类库,以及它们的...

    IOS开发 手写代码 指导教程

    在iOS开发领域,手写代码是一项至关重要的技能,它能帮助开发者深入理解代码背后的机制,提升编程能力。本文将作为一份初级入门的指导教程,详细阐述iOS开发中的手写代码实践。 首先,我们要了解iOS开发的基本环境...

    iOS 9开发指南

    8. 高级话题:例如多线程编程、位置服务、音频视频播放和录制、第三方库集成等,这些话题通常需要开发者具备一定的基础知识后才能深入学习。 关于电子书资源分享的广告内容,我们可以了解到以下现象: 1. 电子书的...

    iOS开发中一些实用的Demo.zip

    "iOS开发中一些实用的Demo.zip"这个压缩包很可能是包含了多个示例项目,以供开发者参考和实践。其中,"iOS_Demo-master"可能是一个GitHub仓库的克隆,通常包含一个或多个iOS应用示例。 在iOS开发中,以下是一些关键...

    IOS开发指南5

    ### IOS开发指南5:基础知识与进阶技巧 #### 一、引言 《IOS开发指南5》是一本针对初学者的教程书籍,旨在通过由浅入深的方式带领读者步入iOS开发的大门。对于想要踏入iOS开发领域的学习者来说,本书不仅提供了...

    从零开始学IOS开发(图文)

    【iOS开发基础】 在iOS开发领域,初学者通常会从学习Swift编程语言开始,这是苹果为iOS、iPadOS、macOS、watchOS和tvOS平台设计的编程语言。Swift语法简洁明了,易于理解,同时提供了强大的功能。通过阅读"从零开始...

    iOS 类似微信中发送位置 地图实现

    在iOS开发中,实现类似微信发送位置功能,主要涉及到地理定位、地图展示、导航和街景等技术。这个功能让用户能够方便地分享他们的位置信息,或者查找并导航到特定地点。以下是对这一功能实现的详细说明: 1. **地理...

    ios开发手册

    MVC是一种常见的软件设计模式,将应用分为模型(Model)、视图(View)和控制器(Controller)三个部分。在iOS开发中,模型存储数据,视图负责显示,控制器处理用户输入和数据更新。 五、Core Data Core Data是苹果...

    ios-iOS开发文档.zip

    这份"ios-iOS开发文档.zip"文件包含了关于iOS应用开发的重要信息,尤其是关于接口文档的书写。以下是针对这些主题的详细解释: 一、iOS开发文档 iOS开发文档通常包括以下几个部分: 1. **项目简介**:概述项目的...

    iOS开发程序员应届生简历

    标签部分列出了三个关键词,即 iOS 开发程序员应届生简历、简历模版。这些标签可以帮助招聘单位快速地找到合适的应届生。 四、部分内容:iOS 开发程序员应届生简历 部分内容部分主要对 iOS 开发程序员应届生的工作...

    ios开发实例WebService

    在iOS开发中,WebService是一个关键概念,用于实现应用程序与服务器之间的数据交互。本实例"ios开发实例WebService"提供了一个很好的学习资源,通过实际的代码演示了如何在iOS应用中使用WebService进行通信。以下是...

    iOS 开发 蓝牙 智能家居开发

    在iOS平台上进行智能家居开发,蓝牙技术扮演着至关重要的角色,特别是在构建智能硬件连接与控制的解决方案中。本文将深入探讨iOS中的蓝牙开发,包括蓝牙的基础概念、BLE(Bluetooth Low Energy)技术、Core ...

    ios中文开发教程资料全收录

    理解如何创建和管理UIViewController,使用UIStoryboard和Auto Layout设计用户界面,以及响应用户交互,都是iOS开发中的核心内容。 4. **Model-View-Controller (MVC)**: MVC是一种常见的软件设计模式,在iOS开发中...

    ios开发指南第五版

    ### iOS开发指南第五版知识点概览 #### 一、iOS开发环境搭建与配置 - **Xcode介绍**:Xcode是苹果公司为开发者提供的官方集成开发环境(IDE),支持iOS、macOS、watchOS和tvOS的应用开发。本书将详细介绍Xcode的...

    ios开发视频教程

    ### iOS开发视频教程知识点概述 #### 一、iOS开发基础概览 - **iOS系统简介**:iOS是由苹果公司开发的移动操作系统,主要用于iPhone、iPad等设备。它以直观的操作界面、优秀的用户体验著称。 - **Swift语言入门**...

    ios开发-json数据解析框架

    在iOS开发中,JSON(JavaScript Object Notation)数据解析是一个重要的环节,因为它是一种轻量级的数据交换格式,广泛用于Web服务和移动应用之间的数据传输。本文将深入探讨JSON在iOS开发中的作用,以及如何利用...

    iOS开发 图表Chart 折线图、柱状图

    在iOS开发中,我们可以利用第三方库如ZFChart来创建折线图。ZFChart是一个强大的图表库,支持多种图表类型,包括折线图。要使用它,你需要将`ZFChart-master`文件夹导入到你的Xcode项目中,并遵循以下步骤: 1. ...

Global site tag (gtag.js) - Google Analytics