(1)设置状态栏的2种方式

——第一种方式就是我们在控制器中设置,系统默认就是交给视图控制器去管理的,这样不同视图控制器能够自己定义不同的状态栏例如以下:

-(BOOL)prefersStatusBarHidden{
} -(UIStatusBarStyle)preferredStatusBarStyle{
}

——假设我们须要交给UIApplication对象管理(iOS6之前就是),则须要例如以下设置:

先在info.plist中把默认的设置改动掉:

然后直接用例如以下代码就可以:

- (void)viewDidLoad {
//默认是控制器管理状态栏,不同控制器可拥有不同状态栏
//我们能够设置成application来管理状态栏,这样的管理是统一的
[UIApplication sharedApplication].statusBarHidden=YES;
[UIApplication sharedApplication].statusBarStyle=UIStatusBarStyleLightContent;
//以下这样的方法还能够设置动画
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
[super viewDidLoad];
}

(2)程序生命周期

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
ViewController *vc1=[[ViewController alloc]init];
self.window.rootViewController=vc1;
//window是第一个被创建的“视图”,其它控制器的视图都是由于显示在window上才干被用户看见。
//不使用例如以下方法是由于,控制器是局部变量,此函数运行完成,则控制器消灭,而此时它的view还在,存在野指针漏洞。所以不能只载入视图,须要把整个控制器载入进来,即用上面的方法
//[self.window addSubview:vc1.view]; /**
* 程序怎样启动的?
* 1、先运行main函数
* 2、在UIApplicationMain函数中:创建一个UIApplication对象;创建UIApplication的delegate对象
* 3、delegate对象開始监听事件
* 3.1 比方程序启动载入完成,就调用代理的didFinishLaunching...方法
* 3.2 在上面的方法中,创建UIWindow,然后设置window的rootViewController
* 3.3 最后把window显示出来(自然就显示rootViewController的view)
*
* 上面第三步是没有storyboard,假设有storyboard,那怎么显示出来的?
* 1、初始化一个window
* 2、初始化storyboard所指向的那个视图控制器
* 3、最后把这个视图控制器设置为window的rootViewController,然后显示window(就相当于显示视图控制器的view,即storyboard的内容)
*/
return YES;
}

(3)几大类(对象)之间的关系

UIApplication的对象有一个代理 >>> 就是AppDelegate,这个代理里面的didFinishLaunching...方法创建了UIWindow >>> 这个UIWindow有一个rootViewController,指向的就是我们经常使用的视图控制器ViewController



【iOS开发-72】设置状态栏的两种方式、程序生命周期以及更好地理解几大类(对象)之间的关系的更多相关文章

  1. iOS开发 跳转场景的三种方式

    iOS开发 跳转场景的三种方式 2012年10月17日, 15:32 假设A跳转到B,三种方法:1.按住ctrl键,拖动A上的控件(比如说UIButton)到B上,弹出菜单,选择Modal.不需要写任 ...

  2. Service的两种用法及其生命周期

    先来一点基础知识: Service 是android的四大组件之一,与Activity同属于一个级别,它是运行在后台进行服务的组件(例如在后台播放的音乐,播放音乐的同时并不影响其他操作).Servic ...

  3. ImageView设置边框的两种方式

    转载:http://www.2cto.com/kf/201308/239945.html package cc.testimageviewbounds; import android.os.Bundl ...

  4. java中设置代理的两种方式

    1 前言 有时候我们的程序中要提供可以使用代理访问网络,代理的方式包括http.https.ftp.socks代理.比如在IE浏览器设置代理. 那我们在我们的java程序中使用代理呢,有如下两种方式. ...

  5. ios中@class和 #import,两种方式的讨论

    转自:http://blog.sina.com.cn/s/blog_a843a8850101b6a7.html 很多刚开始学习iOS开发的同学可能在看别人的代码的时候会发现有部分#import操作写在 ...

  6. Go开发Struct转换成map两种方式比较

    最近做Go开发的时候接触到了一个新的orm第三方框架gorose,在使用的过程中,发现没有类似beego进行直接对struct结构进行操作的方法,有部分API是通过map进行数据库相关操作,那么就需要 ...

  7. golang 开发 Struct 转换成 map 两种方式比较

    原文链接:https://www.jianshu.com/p/81c4304f6d1b 最近做Go开发的时候接触到了一个新的orm第三方框架gorose,在使用的过程中,发现没有类似beego进行直接 ...

  8. IOS开发中设置控件内容对齐方式时容易混淆的几个属性

    IOS开发中四个容易混淆的属性: 1. textAligment : 文字的水平方向的对齐方式 1> 取值 NSTextAlignmentLeft      = 0,    // 左对齐 NST ...

  9. 详细理解servlet实现的几种方式和生命周期

    现在很多的开发都是用的框架,然后很多同学学习的时候又是直接接触的框架,对于底层的一些开发,完全没有任何的了解.虽然对于业务上面来说,没有什么问题.但是很多时候当你被面试问到,或者是想要了解框架底层原理 ...

随机推荐

  1. ThinkPHP第六天(正则表达式)

    1.正则表达式:原子 ①a-z,A-Z,0-9,_ ②用(abc)圆括号括起来的单元符号,表示括号里面的作为一个完整的组合,必须完成匹配,不被拆分来 ③用方括号括起来[abc][^abc]称之为原子表 ...

  2. poj 3286 统计0的个数

    #include <iostream> using namespace std; long long p; ]; long long solve(long long n){ ; ;i< ...

  3. 高级UNIX环境编程

    常规文件 只有索引节号(i-number,是一批i-node的索引),i-node不含文件名及数据字节,包括文件类型,链接数量,uid,gid,访问权限,字节数,最后访问时间,最后修改时间,信息节点最 ...

  4. jQuery 动态元素添加

    有这么一道题 <!DOCTYPE html> <head> <title>前端工程师面试题</title> <meta http-equiv=&q ...

  5. 用macports装了一份openssl

    我已经用macports装了一份openssl,然后自己又编译了一份openssl....第三方给Mac出的一个类似BSD Ports的一个软件包管理工具装的话只需要sudo port install ...

  6. Mac OS X10.9安装的Python2.7升级Python3.3步骤详解

    Mac OS X10.9默认带了Python2.7,不过现在Python3.3.3出来了,如果想使用最新版本,赶紧升级下吧.基本步骤如下 第1步:官网下载Python3.3 这里面有windows和m ...

  7. Python web框架有哪些

    简单易学的web.py, 大型的django:文档最完善.市场占有率最高.招聘职位最多. Tornado 具体看:http://feilong.me/2011/01/talk-about-python ...

  8. cocos2dx进阶学习之CCNode

    继承关系 CCNode  -> CCObject CCNode在cocos2dx中抽象舞台对象,需要渲染的对象都是从CCNode派生,包括CCScene,CCLayer,CCSprite等等 C ...

  9. FastStone Capture(FSCapture) 注册码 _图形图像_软件教程_脚本之家

    FastStone Capture(FSCapture) 注册码 _图形图像_软件教程_脚本之家 FastStone Capture 注册码 序列号: name/用户名:TEAM JiOO key/注 ...

  10. python 的经常使用时间操作,取得当前时间等

    我们先导入必须用到的一个module>>> import time设置一个时间的格式,以下会用到>>>ISOTIMEFORMAT=’%Y-%m-%d %X’看一下当 ...