(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. java代码获取ip地址

    public class IpTool { public static void main(String[] args) { IpTool ipTool=new IpTool(); System.ou ...

  2. 在SAE上搭建自定义版本WordPress, 并用SAE Storage代替WordPress Uploads

    问题由来: 1. SAE中默认的WP for SAE版本太低, 导致某些基于新版本WordPress的插件不能使用. 2. SAE中单个APP的代码空间仅有100M. 将WordPress中uploa ...

  3. Servlet乘法表学习笔记

    一.控制台实现乘法表 package com.shanrengo; import java.io.IOException; import java.io.PrintWriter; import jav ...

  4. 解析ASP.NET Mvc开发之删除修改数据

    目录: 1)从明源动力到创新工场这一路走来 2)解析ASP.NET WebForm和Mvc开发的区别 3)解析ASP.NET Mvc开发之查询数据实例 4)解析ASP.NET Mvc开发之EF延迟加载 ...

  5. word2vec代码解释

    以前看的国外的一篇文章,用代码解释word2vec训练过程,觉得写的不错,转过来了 原文链接 http://nbviewer.jupyter.org/github/dolaameng/tutorial ...

  6. 一个包含所有c++的头文件的头文件

    #include <bits/stdc++.h> 做CF看见别人用这个函数,然后就能直接用vector,set,string那些函数了,摸不着头脑,感觉特神奇就百度了一下,才发现这个是C+ ...

  7. hpuoj回文串问题(manacher+kmp)

    1699: 回文串问题 时间限制: 1 Sec  内存限制: 128 MB 提交: 22  解决: 3 [提交][状态][讨论版] 题目描述 还是回文串问题,字符串是啥,大家应该都知道,就是满足 S[ ...

  8. H264解码的一个測试程序

    网上看到的一个H264视频格式的解码測试程序,能够用来參考其逻辑流程. 代码例如以下: Test_Display_H264(){      in_fd = open(H264_INPUT_FILE, ...

  9. android 上传文件

    android对于上传文件,还是非常easy的,和java里面的上传都是一样的,基本上都是熟悉操作输出流和输入流!另一个特别重要的就是须要一些content-type这些參数的配置!  假设这些都弄好 ...

  10. css中的定位

    上一篇博客,我大概介绍了下浮动的使用及行为.其实在整个文档布局中,定位也对我们整个的页面排版有非常好的帮助,当然前提是使用得当. 一.定位分类: a.静态定位  position:static;   ...