iOS UI编程_概述和程序的执行顺序

  • 一iOS概述

    • UI设计的条件设置
    • iOS系统架构层次
  • 二程序的执行顺序

一、iOS概述

iOS(最初,苹果公司并没有给随iPhone发行的iOS一个独立的称谓,直到2008年3月6日才给它取名为iPhone OS,并于2010年6月改名为现在的名字iOS)是由苹果公司为移动设备所开发的操作系统,支持的设备包括iPhone、iPod touch、iPad及Apple TV等。与Android及Windows Phone不同,iOS不支持非苹果的硬件设备。2007年1月9日苹果在Macworld大会中发布了iOS,并于同年6月29日发布了iOS的第一个版本。目前,iOS的最新版本为8.4(于2015年6月30日发布)。

UI设计的条件设置

尽管Apple为我们提供了诸多控件让我们来布局应用,但并不是没有任何原则,我们需要合理安排控件,做到用户体验最佳,以下是UI设计的条件限制:

  1. 显示面积。尽可能少而紧凑的界面元素、足够大的交互控件。
  2. 文件大小。有限的存储空间,下载的时间以及流量费用,资源加载速度。
  3. 内存空间。程序运行空间小,内存管理优化,避免过高质量的图片和音频。
  4. 程序运行限制。一次只有一个前台程序,程序退出时间不得超过5秒。
  5. 数据访问。不能使用别的APP中的静态类库,不能访问沙盒以外的任何文件,也不能把沙盒文件共享出去。可以通过特定的API访问一些系统资源,如图片库、地址簿等,在有网络链接时,可以访问网络资源。
  6. 能量消耗。CPU负载、发热、电池消耗快、算法优化。
  7. 用户使用习惯。快速启动、短暂使用,随时可能退出,避免多余的帮助,自动保存。

iOS系统架构层次

iOS基于Mac OS X同样的内核,iOS APP由如下图所示的OS技术层次支撑起来。

触控应用层(the Cocoa Touch layer)
媒体层(the Media layer)
核心服务层(the Core Services layer)
核心操作系统层(the Core OS layer)

1. Core OS 和 Core Services 层提供了底层支持,包括文件访问、网络协议、低级数据类型等;它们是C基础的接口,包括Core Foundation,CFNetwork,SQLite等API。

2. Media层提供了一些基本的绘图、声音和视频技术的支持,包括基于C的OpenGL ES,Quartz,Core Audio以及基于Objective-C的Core Animation等。

3. Cocoa Touch层包括了大部分使用Objective-C的API主要由Foundation和UIKit两个框架构成,Foundation提供了面向对象方式的文件访问、网络操作、数据、集合类型等。

在进行APP开发时,应当从上至下地使用这些技术层次,Cocoa Touch层为你提供了基本的系统行为支持,而且将你的工作量降到最低,当你想要实现更为复杂的行为和界面时,才考虑向下层探寻技术支持。


二、程序的执行顺序

1.main.m是程序的?口。任何一个程序,?论是基于Mac OS X还是iOS,程序都是从main.m文件的main函数开始执?的。main函数只做三件事:创建一个自动释放池,调用UIApplicationMain函数,以及使用自动释放池。

int main(int argc, char * argv[]) {
    @autoreleasepool {
        // 执行UIApplicationMain函数时做了跳转,转到了AppDelete中
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
}

2.UIApplicationMain()创建应用程序对象,并且为此对象指定委托,监测程序的执行,同时开启事件循环,处理程序接收到的事件。

3.UIApplicationDelegate方法的执行。应?程序代理,主要检测应用程序的状态并做出相应的处理。应用程序的状态有很多,比如:程序启动、进入活跃状态、进到后台、内存警告、收到远程消息等。任何接受了UIApplicationDelegate协议的对象都可以成为应用程序代理。一旦应?程序的某种状态触发,就会执行相应的代理?法。UIApplicationDelegate是一个objective-C的协议。?面声明了很多方法,这些方法都与应用程序运行状态有关,它们由应用程序代理实现。UIApplication对象负责调?。

4.加载window。UIWindow作为应用程序的窗口,在应用程序启动的时候就要加载。各种UI界面都是借助window来呈现的。UIWindow在创建的时候,应该和屏幕?样大。通过[UIScreen mainScreen].bounds可以获得屏幕?小。[self.window makeKeyAndVisible]; //让window变为可视状态,即显?window

5.指定根视图控制器。


版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-23 17:46:53

iOS UI编程_概述和程序的执行顺序的相关文章

iOS程序的执行顺序 和 UIViewController的生命周期

iOS程序的执行顺序 1 进入程序的入口 进入main函数, 设置AppDelegate称为函数的代理 2  程序完成加载 -[AppDelegate application:didFinishLaunchingWithOptions:] 3 创建window窗口 4 程序被激活 -[AppDelegate applicationDidBecomeActive:] 5 当点击command+H时  程序取消激活状态 -[AppDelegate applicationWillResignActiv

iOS程序的执行顺序和iOS程序文件执行顺序

iOS程序的执行顺序 首先从main.m文件的main函数开始执行的.int main(int argc, char * argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); } } //1.principalClassName:应用程序对象的类名(UIApplication或其子类) //2.delegateClassName

PL/SQL编程_概述

关于PL/SQL的内容,主要包括匿名块.存储过程和存储函数三种形式的PL/SQL块,以及在PL/SQL 中如何使用变量.类型.流控制语句.游标.触发器.异常等内容,以及如何利用PL/SQL块访问数据库中的数据. PL/SQL概述 如果说SQL是一种标准的数据库访问语言,那么PL/SQL则是Oracle公司开发的一种编程语言,它是对SQL的扩充.在PL/SQL程序中,可以定义变量.数据类型.函数以及过程,可以使用流控制语句,可以包含SQL语句,还可以进行错误处理.利用PL/SQL程序,可以对数据库

UIViewController的生命周期及iOS程序执行顺序

当一个视图控制器被创建,并在屏幕上显示的时候. 代码的执行顺序1. alloc                                   创建对象,分配空间2.init (initWithNibName) 初始化对象,初始化数据3.loadView                          从nib载入视图 ,通常这一步不需要去干涉.除非你没有使用xib文件创建视图4.viewDidLoad                   载入完成,可以进行自定义数据以及动态创建其他控件5

UIViewController 的生命周期 & iOS程序的启动顺序

当一个视图控制器被创建,并在屏幕上显示的时候. 代码的执行顺序 1. alloc                                   创建对象,分配空间 2.init (initWithNibName) 初始化对象,初始化数据 3.loadView                          从nib载入视图 ,通常这一步不需要去干涉.除非你没有使用xib文件创建视图 4.viewDidLoad                   载入完成,可以进行自定义数据以及动态创建其

第二章 吸引你的眼球—UI编程(1)

第二章 吸引你的眼球-UI编程 学习Android应用程序的开发技术,除了先要熟悉相关工具以外,最直接的,就是学习如何使用各种UI组件.我们开发的应用程序,一般都会包含一组用户可见的界面,而这些界面就是由一个个的AndroidUI组件组成的.我们在学习界面开发技术的过程中,首先就要熟悉这些组件,然后才能将它们有效的组织起来,构成一个美观.合理的界面. 本章会先详细讲解一些常用的UI组件,及如何自定义组件,然后会说明一些其它常用的UI编程技术. 2.1 UI基础-常用UI组件 Android的组件

MFC程序消息处理的顺序

MFC应用程序中处理消息的顺序1.AfxWndProc() 该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc2.AfxCallWndProc() 该函数负责保存消息(保存的内容主要是消息标识符和消息参数)供应用程序以后使用,然后调用WindowProc()函数3.WindowProc() 该函数负责发送消息到OnWndMsg()函数,如果未被处理,则调用DefWindowProc()函数4.OnWndMsg() 该函数的功能首先按字节对消息进行排序,对于WM_

MFC程序的消息处理顺序

MFC应用程序中处理消息的顺序 1.AfxWndProc()      该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc 2.AfxCallWndProc()  该函数负责保存消息(保存的内容主要是消息标识符和消息参数)供应用程序以后使用,然后调用WindowProc()函数 3.WindowProc()      该函数负责发送消息到OnWndMsg()函数,如果未被处理,则调用DefWindowProc()函数 4.OnWndMsg()        该函

IOS开发用户界面UI编程视频教程

在这个拼颜值的时代,App必须要华丽丽的闪亮登场,IOS UI设计成为iOS开发中必须熟练掌握的内容,可以说iOS开发的70%以上的工作量都花在iOS UI界面上,该阶段内容包括:iOS项目程序结构.生命周期.事件周期.视图View.各种视图组件.各种视图控制器.动画等. IOS开发用户界面UI编程视频教程(某学堂出品)课程目录:01-第一个UI程序02-视图创建03-父子视图04-UILabel标签05-Frame与bounds的区别06-UIButton按钮的使用07-UIImageView