UI初级学习重点:
(1)应用程序的生命周期
(2)视图控制器的生命周期
(3)三大控制器(标签、导航、视图)
(4)表视图
(5)触摸与手势
一、IOS系统概述与架构
【】ios操作系统是iPhone、iPod touch、以及iPad设备的核心。
ios平台许多开发工具与开发技术源自Mac OS X,都是以UNIX为基础。
iPhone软件开发包
【】架构。ios扮演底层硬件和应用程序的中介。
Cocoa Touch
提供了基本的系统行为支持
|
Media
包含图形、音频、视频等技术。
|
Core Service
应用程序提供基础系统服务。
|
Core OS
|
二、IOS开发平台限制
(1)平台间的差异
(2)屏幕大小的限制
(3)内存限制
(4)窗口显示限制
(5)电量限制
(6)简短的用户帮助
(7)ios多任务
1)按下Home键,程序被挂起(不耗电,不占内存)——>后台任务3min.
2)支持后台运行的任务:音频(audio),位置服务(location),模拟声音讯号(voip)
我们自定义的任务运行的时间是有限制的。
ios开发的三种方式:
(1)【Native】iPhone本地应用程序,也就是使用iPhone SDK开发的,在iOS设备上本地运行的程序
·
(2)【web开发】仅在网页上显示的内容,
(3)【
Native +
web开发
】混合应用程序,
·
集成开发环境
(1)Xcode :iOS集成开发环境,也是编辑器,负责管理应用程序工程。
(2)Interface Builder:快速原型开发工具,可视化的组装用户UI接口的工具,在
Xcode 4.0以后集成到了Xcode中。
(3)Instruments:功能强大的性能调试工具,以及内存分析工具。
(4)iPhone Simulator:Mac OS X平台应用程序,它是模拟应用程序在真机上运行 的一个环境,但是并不能完全模拟所有功能。
(5)iOS SDK:iOS软件开发工具包
·集成开发环境-Interface Builder-xib文件释义
·iOS的UI控件创建有两种方式,1. 代码创建 2. xib文件创建
数据的持久化:
(1)属性列表
(2)对象归档
(3)使用数据库,
(4)Core Data
应用程序的生命周期:
(1)启动程序
(2)进入main方法
(3)执行AppDelegate中的第一个方法
- (
BOOL
)application:(
UIApplication
*)application didFinishLaunchingWithOptions:(
NSDictionary
*)launchOptions
(4)【按home键】即将进入非活状态
(5)已经进入失活状态(已经进入后台)
(6)【再打开】即将进入前台
(7)已经进入前台
(8)【退出】将要退出,退出
//
程序即将进入非活动状态时调用的协议方法
/*
1 、进入后台
2 、锁屏
3 、电话拨入
*/
- ( void )applicationWillResignActive:( UIApplication *)application {
NSLog ( @"%s" , __FUNCTION__ );
}
// 程序已经进入到后台调用的协议方法
- ( void )applicationDidEnterBackground:( UIApplication *)application {
NSLog ( @"%s" , __FUNCTION__ );
}
// 程序即将进入前台调用的协议方法
- ( void )applicationWillEnterForeground:( UIApplication *)application {
NSLog ( @"%s" , __FUNCTION__ );
}
// 程序已经激活
- ( void )applicationDidBecomeActive:( UIApplication *)application {
NSLog ( @"%s" , __FUNCTION__ );
}
// 程序退出的时候调用
- ( void )applicationWillTerminate:( UIApplication *)application {
NSLog ( @"%s" , __FUNCTION__ );
}
/*
1 、进入后台
2 、锁屏
3 、电话拨入
*/
- ( void )applicationWillResignActive:( UIApplication *)application {
NSLog ( @"%s" , __FUNCTION__ );
}
// 程序已经进入到后台调用的协议方法
- ( void )applicationDidEnterBackground:( UIApplication *)application {
NSLog ( @"%s" , __FUNCTION__ );
}
// 程序即将进入前台调用的协议方法
- ( void )applicationWillEnterForeground:( UIApplication *)application {
NSLog ( @"%s" , __FUNCTION__ );
}
// 程序已经激活
- ( void )applicationDidBecomeActive:( UIApplication *)application {
NSLog ( @"%s" , __FUNCTION__ );
}
// 程序退出的时候调用
- ( void )applicationWillTerminate:( UIApplication *)application {
NSLog ( @"%s" , __FUNCTION__ );
}
@end