UI-Day1____IOS应用程序的生命周期

2015.3.13

//应用程序分类:

//ios本地应用程序: 利用iphone软件开发包(SDK)开发的本地应用程序

//web应用程序: 在web中显现的应用程序

//开发环境及工具

//1. xcode :编辑及调试代码文本

//2. interface builder: 可视化UI接口创建工具

//3. instruments : 调试分析应用程序, 分析内存等

//4. simulator : 模拟手机的运行环境

//5. SDK: iphone软件开发包

//开发方式: 手动创建   xib创建

//沙盒(sandBox)

//出于安全考虑,为每个应用程序在系统中创建独立文件系统机制,称为沙盒,也就是说, 每一个应用程序都是独立的存在

//应用程序之间的数据不能共享

//应用程序生命周期

@implementation AppDelegate

@synthesize managedObjectContext = _managedObjectContext;

@synthesize managedObjectModel = _managedObjectModel;

@synthesize persistentStoreCoordinator = _persistentStoreCoordinator;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

// Override point for customization after application launch.

UIView *view = [[UIView alloc] initWithFrame:CGRectMake(10, 30, 300, 30)];

view.backgroundColor = [UIColor redColor];

[self.window addSubview:view];

[view release];

self.window.backgroundColor = [UIColor whiteColor];

[self.window makeKeyAndVisible];

NSLog(@"funtion %@ is calling", NSStringFromSelector(_cmd));

return YES;

}

//欧路词典

//程序即将进入后台模式调用

- (void)applicationWillResignActive:(UIApplication *)application

{

// Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.

//当应用程序从激活状态切换到非激活状态, 这个方法被调用;

//发生中断事件的时候, 这个方法也会被调用,如:电话接入, 收到短信

//或者用户退出应用程序切换到后台模式这个方法也被调用

// Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.

//用这个方法暂停正在进行的任务,停止定时器,降低OpenGL ES帧率,暂停游戏

NSLog(@"funtion %@ is calling", NSStringFromSelector(_cmd));

}

//进入后台后调用

- (void)applicationDidEnterBackground:(UIApplication *)application

{

// Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.

//用这个方法释放共享资源保存用户数据,失效定时器,存储足够的应用程序状态信息用来恢复你的应用程序到当时的状态在应用程序随后被终止的时候

// If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.

//如果你的程序支持后台执行, 这个方法会替换applicationWillTerminate:

NSLog(@"funtion %@ is calling", NSStringFromSelector(_cmd));

}

//程序将要进入前台

- (void)applicationWillEnterForeground:(UIApplication *)application

{

// Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.

//从后台切换到前台被调用

//执行的动作与从前台切换到后台的动作相反

NSLog(@"funtion %@ is calling", NSStringFromSelector(_cmd));

}

//切换到前台

- (void)applicationDidBecomeActive:(UIApplication *)application

{

// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.

//重启被暂停的任务, 如果应用程序之前在后台,有选择的刷新UI

NSLog(@"funtion %@ is calling", NSStringFromSelector(_cmd));

}

- (void)applicationWillTerminate:(UIApplication *)application

{

// Saves changes in the application‘s managed object context before the application terminates.

//保存程序终止前的数据

[self saveContext];

NSLog(@"funtion %@ is calling", NSStringFromSelector(_cmd));

}

——————————————————————————————分割———————————————————————————

// Override point for customization after application launch.

//通常应用程序只有一个窗口(window)

//UIWindow 继承与 UIView

//UIView是视图类的基类

//UIWindow 跟UIView 配合显示内容

//frame: 相对于父视图计算的坐标系

//bounds: 直接以ios系统坐标计算的位置

//状态栏 占大小是 20

NSLog(@"width: %f, heigth: %f", self.window.frame.size.width, self.window.frame.size.height);

//    UIScreen *screen = [UIScreen mainScreen];

//    NSLog(@"screen = %@", screen);

//CGPoint point = CGPointMake(10, 10);

//CGSize size = CGSizeMake(100, 50);

UIView *view1 = [[UIView alloc] initWithFrame:CGRectMake(10, 30, 300, 50)];

view1.backgroundColor = [UIColor blueColor];

[self.window addSubview:view1];//引用计数+1

[view1 release];

UIView *view2 = [[UIView alloc] initWithFrame:CGRectMake(10, 100, 300, 50)];

view2.backgroundColor = [UIColor cyanColor];

[self.window addSubview:view2];

[view2 release];

//设置window背景颜色

self.window.backgroundColor = [UIColor whiteColor];

//使window可见

[self.window makeKeyAndVisible];

return YES;

}

——————————————————————————————分割———————————————————————————

// Override point for customization after application launch.

//标签:显示文字,不可以对文字编辑

//UILabel是UIView的子类

UILabel *label1 = [[UILabel alloc] init];

label1.frame = CGRectMake((320-300)/2.0, 30, 300, 30);

//设置标签内容

label1.text = @"标签1: Label";

//设置背景颜色

label1.backgroundColor = [UIColor redColor];

[self.window addSubview:label1];

[label1 release];

UILabel *label2 = [[UILabel alloc] initWithFrame:CGRectMake(10, 70, 300, 30)];

label2.text = @"标签2: Label";

label2.backgroundColor = [UIColor greenColor];

//设置文字颜色

label2.textColor = [UIColor whiteColor];

//设置文字居中

label2.textAlignment = NSTextAlignmentCenter;

//设置文字字体及大小

label2.font = [UIFont systemFontOfSize:25];

[self.window addSubview:label2];

[label2 release];

//遍历字体库

NSArray *familyFont = [UIFont familyNames];

for (NSString * familyName in familyFont) {

NSArray *names = [UIFont fontNamesForFamilyName:familyName];

for (NSString *fontName in names) {

NSLog(@"fontName : %@", fontName);

}

}

UILabel *label3 = [[UILabel alloc] initWithFrame:CGRectMake(10, 110, 300, 30)];

label3.text = @"标签3: Label";

label3.textAlignment = NSTextAlignmentCenter;

label3.textColor  = [UIColor blueColor];

label3.backgroundColor = [UIColor yellowColor];

label3.font = [UIFont systemFontOfSize:22];

//设置阴影颜色

label3.shadowColor = [UIColor blackColor];

//设置阴影偏移量

label3.shadowOffset = CGSizeMake(3, -3);

//设置字体及字号, 默认字号17

label3.font = [UIFont fontWithName:@"GillSans-Italic" size:23];

[self.window addSubview:label3];

[label3 release];

UILabel *label4 = [[UILabel alloc] initWithFrame:CGRectMake(10, 150, 300, 50)];

//设置透明色

label4.backgroundColor = [UIColor clearColor];

label4.text = @"qianfeng jiaoyu label I love chineseword World english math qianfeng qianfeng qianfeng qianfeng qianfeng qianfeng qianfeng qianfeng qianfeng qianfeng qianfeng";

label4.backgroundColor = [UIColor orangeColor];

//label4.textAlignment   = NSTextAlignmentCenter;

//不限制文字显示行数

label4.numberOfLines = 0;

//自适应文字大小

//label4.adjustsFontSizeToFitWidth  = YES;

//省略中间的内容

label4.lineBreakMode = NSLineBreakByTruncatingMiddle;

[self.window addSubview:label4];

[label4 release];

//

UILabel *label5 = [[UILabel alloc] initWithFrame:CGRectMake(10, 210, 300, 100)];

label5.text = @"UILabel UILabel UILabel UILabel UILabel UILabel UILabel UILabel UILabel UILabel UILabel UILabel UILabel UILabel UILabel UILabel UILabel UILabel UILabel UILabel ";

label5.backgroundColor =[UIColor greenColor];

label5.numberOfLines   = 0;

label5.lineBreakMode = NSLineBreakByCharWrapping;

[self.window addSubview:label5];

[label5 release];

self.window.backgroundColor = [UIColor whiteColor];

[self.window makeKeyAndVisible];

return YES;

}

——————————————————————————————分割———————————————————————————

国际象棋棋盘

// Override point for customization after application launch.

[self printChessLabel];

self.window.backgroundColor = [UIColor whiteColor];

[self.window makeKeyAndVisible];

return YES;

}

- (void)printChessLabel

{

NSLog(@"size = %f", self.window.frame.size.width);

NSArray *array = [[NSArray alloc] initWithObjects:@"車",@"??",@"??",@"王",@"后",@"??",@"??",@"車", nil];

for (NSInteger i =0;i<8; i++) {

for (NSInteger j =0; j<8; j++) {

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(40*j,40*i+20, 40, 40)];

if ((i+j)%2) {

label.backgroundColor = [UIColor greenColor];

}

else

{

label.backgroundColor = [UIColor yellowColor];

}

//设置文字

if (i==0 || i==7) {

label.text = array[j];

}

if (i==1 || i==6) {

label.text = @"兵";

}

label.textAlignment = NSTextAlignmentCenter;

//设置字体颜色

if (i==0 || i==1) {

label.textColor = [UIColor redColor];

}

if (i==6 || i==7) {

label.textColor = [UIColor blueColor];

}

[self.window addSubview:label];

[label release];

}

}

}

时间: 2024-10-17 12:50:46

UI-Day1____IOS应用程序的生命周期的相关文章

[转载] iOS应用程序的生命周期

iOS应用程序的生命周期 2015-06-23 iOS大全 (点击上方蓝字,快速关注我们) iOS应用程序一般都是由自己编写的代码和系统框架(system frameworks)组成,系统框架提供一些基本infrastructure给所有app来运行,而你提供自己编写的代码来定制app的外观和行为.因此,了解iOS infrastructure和它们如何工作对编写app是很有帮助的. Main函数入口 所有基于C编写的app的入口都是main函数,但iOS应用程序有点不同.不同就是你不需要为iO

iOS_应用程序的生命周期

每一个iPhone程序都包含唯一一个UIApplication对象,它管理整个程序的生命周期,从加载第一个显示界面开始,并且监听系统事件.程序事件调度整个程序的执行. int main(int argc, char *argv[]) {       NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; int retVal = UIApplicationMain(argc, argv, nil, nil); [pool rele

UI1_应用的程序的生命周期

// // AppDelegate.m // UI1_应用的程序的生命周期 // // Created by zhangxueming on 15/6/29. // Copyright (c) 2015年 zhangxueming. All rights reserved. // #import "AppDelegate.h" //开发工具: //1.xcode : 编辑工程代码, 修改工程 //2.IOS simulator : 模拟器,在mac电脑上模拟iphone 设备的运行环境

2. iOS程序的生命周期

程序启动-生命周期 来自:  QQ: 853740091 1.首先讲解UIApplication对象 (1)UIApplication对象是应用程序的象征,一个UIApplication对象就代表一个应用程序. (2)每一个应用都有自己的UIApplication对象,而且是单例的,如果试图在程序中新建一个UIApplication对象,那么将报错提示. (3)通过[UIApplicationsharedApplication]可以获得这个单例对象 (4) 一个iOS程序启动后创建的第一个对象就

asp.net MVC 应用程序的生命周期

首先我们知道http是一种无状态的请求,他的生命周期就是发出请求开始,到得到响应结束.那么MVC应用程序从发出请求到获得响应,都做了些什么呢? 本文我们会详细讨论MVC应用程序的生命周期和一个请求,从一个控件到另一个控件是怎样被处理的.我们还会详细介绍一下整个请求的生命周期中,用到的相关组件.在平常的开发过程中,我们可能知道怎样去使用MVC框架来处理相关的请求,大部分的时候我们只是在controller和action方法之间做相关的处理. 当我最开始学习使用mvc的时候,困扰我的一个问题就是,一

微信小程序之生命周期(三)

上一篇介绍微信小程序开发工具使用和项目目录结构. 这一章节介绍微信小程序的生命周期,什么是生命周期呢? 通俗的讲,生命周期就是指一个对象的生老病死. 从软件的角度来看,生命周期指程序从创建.到开始.暂停.唤起.停止.卸载的过程. 下面从一下三个方面介绍微信小程序的生命周期: 应用生命周期 页面生命周期 应用生命周期影响页面生命周期 >>>应用生命周期 用户首次打开小程序,触发 onLaunch(全局只触发一次). 小程序初始化完成后,触发onShow方法,监听小程序显示. 小程序从前台进

iOS 应用程序的生命周期浅析

做ipone开发有必要知道iPhone程序的生命周期,说白了就是点击应用图标启动程序到到退出程序,在这个运行的过程中底下的代码到底发生了什么,只有理解生命周期,有利于我们开发人员开发出更好的应用. 当用户点击一个图片的时候,程序开始运行,从main函数开始: int main(int argc, char *argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDe

应用程序的生命周期

应用程序的生命周期: 要了解程序的生命周期必须先了解程序的启动原理: 1.程序的入口main函数 2.进入UIApplicationMain函数(循环函数) 2.1创建UIApplication实例 2.2实例化Application的delegate 2.3开启事件循环 3.根据有无storyboard创建并显示窗口 以下示例图,仅仅选取了生命周期的部分方法,以便示例

应用程序的生命周期(引用别人的)

一.UIApplication 1.简单介绍 (1)UIApplication对象是应用程序的象征,一个UIApplication对象就代表一个应用程序. (2)每一个应用都有自己的UIApplication对象,而且是单例的,如果试图在程序中新建一个UIApplication对象,那么将报错提示. (3)通过[UIApplicationsharedApplication]可以获得这个单例对象 (4) 一个iOS程序启动后创建的第一个对象就是UIApplication对象,且只有一个(通过代码获

ios_oc 应用程序的生命周期

iOS的应用程序的生命周期,还有程序是运行在前台还是后台,应用程序各个状态的变换,这些对于开发者来说都是很重要的.iOS系统的资源是有限的,这样可以提高电池的使用和用户体验. 开发app,我们要遵循apple公司的一些指导原则,原则如下: 1.应用程序状态 状态如下: Not  running     未运行    程序没启动 Inactive     未激活   不过没有接收到事件.在没有事件处理情况下程序通常停留在这个状态 Active     激活   程序在前台运行而且接收到了事件.这也