1.执行原理

a.首先执行main函数 调用UIApplicationMain方法

        return UIApplicationMain(argc, argv, nil, NSStringFromClass([MLKAppDelegate class]));

>UIApplicationMain函数内部创建一个UIApplication实例。UIApplication对象是单例,一个iOS应用对应一个Application。UIApplication对象是应用程序的象征。

>创建一个UIApplication对象之后再创建一个UIApplication的delegate对象,负责监听UIApplication的生命周期。

2.应用程序的生命周期

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

应用程序加载完毕后被调用。

- (void)applicationWillResignActive:(UIApplication *)application

在应用程序将要由活动状态切换到非活动状态时候调用,如按下home按钮,返回主屏幕,或全屏之间切换应用程序等。

- (void)applicationDidEnterBackground:(UIApplication *)application

在应用程序进入后台调用(按下home键);

- (void)applicationWillEnterForeground:(UIApplication *)application

在应用程序进入前台被调用

- (void)applicationDidBecomeActive:(UIApplication *)application

应用程序获取焦点被调用。

- (void)applicationWillTerminate:(UIApplication *)application

在应用程序要完全推出的时候。

3.UIWindow对象是所有UIView的根视图,管理和协调的应用程序的显示、分发事件给View。UIWindow类是UIView的子类,可以看作是特殊的UIView。一般应用程序只有一个UIWindow对象,即使有多个UIWindow对象,也只有一个UIWindow可以接受到用户的触屏事件。UIWindow初始化在appDeleDgate里面的 didFinishLaunchingWithOptions方法。

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

UIView:视图,屏幕上能看得见摸得着的东西都是UIView比如按钮、文本标签、表格。类继承自UIResponder,负责在屏幕上 定义一个矩形区域,视图用于展示界面及响应用户界面交互。每个视图对象都要负责渲染视图区域的内容,并响应该区域中发生的操作事件。

除了显示内容和处理事件之外,视图可以嵌套并管理子视图。子视图是指嵌入到另一视图对象内部的视图对象,而被嵌入的视图对象是父视图。视图添加到window中就会显示出来,iOS中是怎么实现视图显示的,看下面的代码

UIViewController:内部默认有一个UIView视图,负责管理UIView的生命周期,装载数据到UIView上显示,处理UIView的生命周期,装载到UIView上显示处理UIView事件。

最新文章

  1. Linux 部署ASP.NET SQLite 应用 的坎坷之旅 附demo及源码
  2. ThinkPHP 修改,删除数据,全部显示
  3. Mount NAS Storage in Linux Overview 转载
  4. android studio ,Gradle DSL method not found: 'compile()'
  5. Controller简介
  6. java性能优化技巧
  7. <转>如何利用socket进行HTTP访问
  8. console.dir()和console.log()的区别
  9. Mac下使用Brew搭建PHP(LNMP/LAMP)开发环境
  10. linux(十)之初始化文件
  11. python 爬取国家粮食局东北地区玉米收购价格监测信息
  12. token的时限多长才合适?
  13. 【easy】101. Symmetric Tree
  14. tornado架构分析3 options.py中基础类_Option
  15. 使用IntelliJ IDEA 配置Maven
  16. snmp 里面oid对应的信息 MIB
  17. ArcGIS API for Silverlight部署本地地图服务
  18. IDEA快捷键--与Eclipse快捷键的对比--IDEA快捷键设置成Eclipse默认快捷键
  19. Spring Framework框架容器核心源码逐步剖析
  20. UEFI是什么?与BIOS的区别在哪里?UEFI详解!

热门文章

  1. The 2018 ACM-ICPC China JiangSu Provincial Programming Contest(第六场)
  2. 24 款必备的 Linux 桌面应用(2016 版)
  3. Java导出csv修正时间格式
  4. 学习Go语言之简易ORM框架
  5. POJ 3630 Phone List(字典树)
  6. CentOS下安装SVN服务端
  7. Spring EL表达式和资源调用
  8. Unity 编辑器学习(二)之 全局光照(GI)
  9. ArcGIS api for javascript——图形-使用多个图形图层
  10. 多校第十场1009 CRB and String题解