一.UIApplicationMain的执行步骤
1.创建一个UIApplication对象,一个程序对应一个UIApplication对象(单例),UIApplication对象是程序的象征
2.接下来会根据第4个参数创建一个UIApplication的delegate对象
3.开启一个消息循环(不断地监听地一些系统事件)
4.监听到相应的事件后,就会给代理发送相应的消息
* 当程序启动完毕,就会发送application:didFinishLaunchingWithOptions:消息
*当程序进入后台,就会发送applicationDidEnterBackground:消息
....

二.UIApplication
1.设置图标数字
app.applicationIconBadgeNumber =10;

2.设置显示联网状态
app.networkActivityIndicatorVisible = YES;

3.打开一个URL (打电话,打开网址,发短信,发邮件)
NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];
[app openURL:url];

4.隐藏状态栏

application.statusBarHidden = NO;

三.常见文件
1.*-Info.plist 文件
1>项目中最主要的文件,描述了软件名称.软件版本,软件唯一标识
2>常见设置
*软件名称 --Bundle display name -- CFBundleDisplayName
*软件版本号 -- Bundle Version === CFBunleVersion
*软件的唯一标识-- Bundle identifier -- CFBundleIdentifier
1.0

2.*-Prefix.pch
1> 该文件中的内容会被项目中其他所有文件所共享

2>用来存全局性的一些宏定义,#import语句

3>控件日志输出

/*

如果软件处于调试状态,系统会默认定义一个叫做DEBUG的宏;

如果软件处于发布打包状态,系统就不会定义DEBUG这个宏

*/

#ifdef DEBUG

//调试状态:将MJLog替换成NSLog

#define MJLog(...) NSLog(__VA_ARGS__)

#else

//发布状态:将MJLog替换成空

#define MJLog(...) //fsdfsdfdsfds

#endif

3.    Default.png 320 X 480

1>程序在启动过程中会全屏显示叫做Default.png 的图片

2>可以有多个版本

Default.png 320 X 480

Default@2x.png 640 X 960

Default-568h@2x.png 640 X 1136

4.Icon.png

1>软件图标

2>苹果官方文档搜索"app icon" --> App Icons On iPad and Iphone

四\程序的完整启动过程(控件器的View的显示过程)

1.点击程序图标

2.执行main函数

3.执行UIApplicationMain函数

4.创建UIApplication对象.UIApplication的delegate对象

5.开启事件循环监听系统事件

6.程序加载完毕后调用delegate对象的application:didFinishLaunchingWithOptions:方法

1>创建窗口对象

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

2>创建控件器对象

self.viewController = [[MJViewController alloc] initWithNibName:@"MJViewController" bundle:nil]

3> 设置窗口的根控件器

self.window.rootViewController = self.viewController;

4>让窗口成为主窗口,并且可见

[self.window makeKeyAndVisible];

UIApplication\AppDelegate\UIWindow\UIViewController

6.自定义容器

1.加载ViewController.xib文件

2.创建Objects下面的所有对象

UIView *myview = [[UIView alloc]init];

myView.backgroundColor=[UIColor dfsfd];

myview.frame = CGRectMake(0,20,320,460);

....

UIButton *btn ...

[myview addSubview:btn];

3.传入ViewController对象作为xib文件的owner

vc.view = myview;

IOS启动顺序的更多相关文章

  1. linux init 启动顺序

    redhat init大致启动过程 第一个运行的程序是/sbin/init,该文件会读取/etc/inittab文件,并依据此文件来进行初始化工作.比如在设定了运行等级 “:id:3:initdefa ...

  2. Openwrt笔记-IPv6与启动顺序

    之前使用了nat6方案和x3c8021x实现了校园网上网和IPv6连接:但实际使用时经常出现莫名奇妙的问题.IPv6状态要么是无法连接网络,要么是无法连接Internet:经过研究,发现大概是自启动项 ...

  3. [CrunchBang]修改win+ubuntu 双 系统菜单的 启动顺序 引导

    说到启动就不得不说GRUB,Linux下大名鼎鼎的启动管理工具(曾经的LILO已经风光不再),当然现在已经是GRUB2了,GRUB2和GRUB最重要的区别就是,GRUB存放系统启动信息的文件为/boo ...

  4. linux服务开机启动顺序

    今天遇到了一个问题,我们写了一个服务脚本A,该服务需要优先于mysql启动.脚本是从其他地方拷来的模板,前面的默认配置没改,只是实现了自己的功能.写完,chkconfig A on,reboot,启动 ...

  5. iOS启动图和开屏广告图,类似网易

    iOS启动图和开屏广告图,类似网易 启动图是在iOS开发过程中必不可少的一个部分,很多app在启动图之后会有一张自定义的开屏广告图,点击该广告图可以跳转到广告图对应的页面.今天呢,和大家分享一下如何添 ...

  6. 设置U盘为第一启动顺序

    本文转载:http://u.diannaodian.com/Article/1004.html 盘安装系统的首要步骤就是设置U盘为第一启动顺序.下面电脑店官网就来说说到底如何来设置U盘启动顺序吧.   ...

  7. LINUX启动顺序

    Linux 启动顺序: 1. BIOS自检 (服务器硬件启动的第一步,坑定的啦) 2. 运行系统内核并检测硬件(这个是看系统了,redhat等相关版本是通过/boot/vm进行启动 vmlinuz) ...

  8. web容器启动顺序

    web容器启动顺序: 第一:context-param 第二:Listerer 第三:Filter 第四:servlet

  9. 第一章之s5pv210启动顺序

    我所使用的开发板是:友善之臂smart210,cpu为s5pv210.u-boot版本是:u-boot-2012-10 1,首先在u-boot中配置相对应的开发板的配置文件 #make s5p_gon ...

随机推荐

  1. Oralce sysaux WRH$_ACTIVE_SESSION_HISTORY清理

    In this Document Symptoms Cause Solution References Symptoms sysaux表空間的WRH$_ACTIVE_SESSION_HISTORY表變 ...

  2. x264中I,P,B帧和PTS,DTS的关系

    转自:http://www.cppblog.com/tx7do/archive/2013/01/30/197633.html 基本概念: I frame :帧内编码帧 又称intra picture, ...

  3. 咱就入个门之NHibernate映射文件配置(一)

    之前写了数据库连接配置,这次说说映射文件的配置,即表映射[ORM的核心就是此啦!]. 下面我们使用最原始的手动配置hbm.xml文件. 步骤: 1.添加People类 namespace NHiber ...

  4. 解释一下SQLSERVER事务日志记录

    解释一下SQLSERVER事务日志记录 大家知道在完整恢复模式下,SQLSERVER会记录每个事务所做的操作,这些记录会存储在事务日志里,有些软件会利用事务日志来读取 操作记录恢复数据,例如:log ...

  5. C泊车管理系统

    // //  main.c //  泊车管理系统 // //  Created by 丁小未 on 13-7-14. //  Copyright (c) 2013年 dingxiaowei. All ...

  6. 用PowerShell脚本删除SharePoint 的 Page中的WebPart

    编写PowerShell脚本可以删除page中所有的webpart,也可以根据webpart的属性信息去删除特定的webpart. 下面的PowerShell脚本便是删除对应page中所有的webpa ...

  7. android加载大量图片内存溢出的三种方法

    android加载大量图片内存溢出的三种解决办法 方法一:  在从网络或本地加载图片的时候,只加载缩略图. /** * 按照路径加载图片 * @param path 图片资源的存放路径 * @para ...

  8. string、math、random、datetime类

    1.string类 变量.Replace("想要替换掉的字符或字符串","转换后的字符或字符串");//替换 练习:判断邮箱格式是否正确            ...

  9. JQuery解析json数据

    <script> var data ="{" + "root:[" + "{name:'1',value:'0'}," + &q ...

  10. Android拓展系列(9)--Android视频录制screenrecord命令

    在Android4.4 Kitkat上集成了一个比较好用的视频录制功能.参考:http://forums.androidcentral.com/android-4-4-kitkat/329674-ho ...