【iOS开发-72】设置状态栏的两种方式、程序生命周期以及更好地理解几大类(对象)之间的关系
(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】设置状态栏的两种方式、程序生命周期以及更好地理解几大类(对象)之间的关系的更多相关文章
- iOS开发 跳转场景的三种方式
iOS开发 跳转场景的三种方式 2012年10月17日, 15:32 假设A跳转到B,三种方法:1.按住ctrl键,拖动A上的控件(比如说UIButton)到B上,弹出菜单,选择Modal.不需要写任 ...
- Service的两种用法及其生命周期
先来一点基础知识: Service 是android的四大组件之一,与Activity同属于一个级别,它是运行在后台进行服务的组件(例如在后台播放的音乐,播放音乐的同时并不影响其他操作).Servic ...
- ImageView设置边框的两种方式
转载:http://www.2cto.com/kf/201308/239945.html package cc.testimageviewbounds; import android.os.Bundl ...
- java中设置代理的两种方式
1 前言 有时候我们的程序中要提供可以使用代理访问网络,代理的方式包括http.https.ftp.socks代理.比如在IE浏览器设置代理. 那我们在我们的java程序中使用代理呢,有如下两种方式. ...
- ios中@class和 #import,两种方式的讨论
转自:http://blog.sina.com.cn/s/blog_a843a8850101b6a7.html 很多刚开始学习iOS开发的同学可能在看别人的代码的时候会发现有部分#import操作写在 ...
- Go开发Struct转换成map两种方式比较
最近做Go开发的时候接触到了一个新的orm第三方框架gorose,在使用的过程中,发现没有类似beego进行直接对struct结构进行操作的方法,有部分API是通过map进行数据库相关操作,那么就需要 ...
- golang 开发 Struct 转换成 map 两种方式比较
原文链接:https://www.jianshu.com/p/81c4304f6d1b 最近做Go开发的时候接触到了一个新的orm第三方框架gorose,在使用的过程中,发现没有类似beego进行直接 ...
- IOS开发中设置控件内容对齐方式时容易混淆的几个属性
IOS开发中四个容易混淆的属性: 1. textAligment : 文字的水平方向的对齐方式 1> 取值 NSTextAlignmentLeft = 0, // 左对齐 NST ...
- 详细理解servlet实现的几种方式和生命周期
现在很多的开发都是用的框架,然后很多同学学习的时候又是直接接触的框架,对于底层的一些开发,完全没有任何的了解.虽然对于业务上面来说,没有什么问题.但是很多时候当你被面试问到,或者是想要了解框架底层原理 ...
随机推荐
- java代码获取ip地址
public class IpTool { public static void main(String[] args) { IpTool ipTool=new IpTool(); System.ou ...
- 在SAE上搭建自定义版本WordPress, 并用SAE Storage代替WordPress Uploads
问题由来: 1. SAE中默认的WP for SAE版本太低, 导致某些基于新版本WordPress的插件不能使用. 2. SAE中单个APP的代码空间仅有100M. 将WordPress中uploa ...
- Servlet乘法表学习笔记
一.控制台实现乘法表 package com.shanrengo; import java.io.IOException; import java.io.PrintWriter; import jav ...
- 解析ASP.NET Mvc开发之删除修改数据
目录: 1)从明源动力到创新工场这一路走来 2)解析ASP.NET WebForm和Mvc开发的区别 3)解析ASP.NET Mvc开发之查询数据实例 4)解析ASP.NET Mvc开发之EF延迟加载 ...
- word2vec代码解释
以前看的国外的一篇文章,用代码解释word2vec训练过程,觉得写的不错,转过来了 原文链接 http://nbviewer.jupyter.org/github/dolaameng/tutorial ...
- 一个包含所有c++的头文件的头文件
#include <bits/stdc++.h> 做CF看见别人用这个函数,然后就能直接用vector,set,string那些函数了,摸不着头脑,感觉特神奇就百度了一下,才发现这个是C+ ...
- hpuoj回文串问题(manacher+kmp)
1699: 回文串问题 时间限制: 1 Sec 内存限制: 128 MB 提交: 22 解决: 3 [提交][状态][讨论版] 题目描述 还是回文串问题,字符串是啥,大家应该都知道,就是满足 S[ ...
- H264解码的一个測试程序
网上看到的一个H264视频格式的解码測试程序,能够用来參考其逻辑流程. 代码例如以下: Test_Display_H264(){ in_fd = open(H264_INPUT_FILE, ...
- android 上传文件
android对于上传文件,还是非常easy的,和java里面的上传都是一样的,基本上都是熟悉操作输出流和输入流!另一个特别重要的就是须要一些content-type这些參数的配置! 假设这些都弄好 ...
- css中的定位
上一篇博客,我大概介绍了下浮动的使用及行为.其实在整个文档布局中,定位也对我们整个的页面排版有非常好的帮助,当然前提是使用得当. 一.定位分类: a.静态定位 position:static; ...