一、利用storyboard完成导航
1.storyboard中用来跳转的每一根线 都是 一个 UIStoryboardSegue对象
1> 自动跳转 (从 某个按钮 拖线到 下一个目的控制器)

2> 手动跳转 (从 来源控制器 拖线到 下一个目的控制器)
* 一定要给segue绑定一个唯一的identifier
* 如何跳转?通过来源控制器的一个方法来执行这个UIStoryboardSegue对象
[self performSegueWithIdentifier:@"login2home" sender:nil];

2.UIStoryboardSegue对象
// 唯一标识
@property (nonatomic, readonly) NSString *identifier;
// 来源控制器
@property (nonatomic, readonly) id sourceViewController;
// 目的控制器
@property (nonatomic, readonly) id destinationViewController;

3.通过UIStoryboardSegue对象完成的跳转过程
1> 初始化(创建)UIStoryboardSegue对象

2> 设置UIStoryboardSegue对象的identifier标识  和 sourceViewController来源控制器

3> 创建目的控制器,并且设置为UIStoryboardSegue对象的destinationViewController属性

4> 在跳转之前,会调用一次sourceViewController的下面方法
// 后面的sender参数就是当初调用performSegueWithIdentifier:sender:方法传入的参数
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

5> 执行UIStoryboardSegue对象
[segue perform];

6> 会将destinationViewController目的控制器压入栈中

二、显示本地网页
// 1.获得about.html文件的URL
NSURL *url = [[NSBundle mainBundle] URLForResource:@"about.html" withExtension:nil];
// 2.封装一个请求对象
NSURLRequest *request = [NSURLRequest requestWithURL:url];
// 3.加载请求
[webView loadRequest:request];

三、内存警告的处理过程
1.当控制器接收到内存警告时,会调用 didReceiveMemoryWarning 方法

2.didReceiveMemoryWarning方法内部的默认实现
1> 首先会检测控制器的view在不在屏幕上
if (self.view.superview == nil) { // 检测控制器的view在不在屏幕上
    // 就会尝试销毁控制器的view
    // 即将销毁的时候,就会调用控制器的 viewWillUnload
    // 销毁完毕的时候,就会调用控制器的 viewDidUnload方法
} else {
    // 不销毁控制器的view
}

3.当需要再次使用控制器的view时,又会调用loadView方法来创建view

4.接着会调用一系列的生命周期方法
viewDidLoad ---> ......

5.生命周期循环
loadView --> viewDidLoad --> ..可见.. --内存警告--> didReceiveMemoryWarning ---> viewWillUnload --> viewDidUnload ---再次使用---> loadView

四、UITabBarController
1.以选项卡的形式展示多个子控制器

2.设置需要显示的子控制器
1> 设置子控制器数组
NSArray *viewControllers;

2> 逐个添加子控制器
// 通过这个方法添加的子控制器会自动添加到viewControllers数组中
- (void)addChildViewController:(UIViewController *)childController;

3.设置子控制器对应标签的文字和图片
* 通过子控制器的tabBarItem属性设置
vc.tabBarItem.title = @"最近"; // 设置标题
vc.tabBarItem.image = [UIImage imageNamed:@"tab_recent_press.png"]; // 设置图标

1210笔记//关于导航实例-QQ空间//导航实例-storyboard实现//控制器的生命周期//控制器的生命周期方法的更多相关文章

  1. 01-导航实例-QQ空间Demo示例程序源代码

    01-导航实例-QQ空间.zip62.4 KB // MJLoginViewController.h Map // //  MJLoginViewController.h //  01-导航实例-QQ ...

  2. 拒绝QQ空间-手把手教你美化博客

    为什么要美化? 博客园的主题看起来是有一些年代感了,应该是不符合当代大学生的审美了,起码我就觉得不行,所以我们要进行一些美化,但是搞技术的人的博客不应该搞得花里胡哨,最好是简洁一些(个人想法),网上有 ...

  3. 参数化登录QQ空间实例

    通过参数化的方式,登录QQ空间 实例源码: # coding:utf-8 from selenium import webdriver import unittest import time clas ...

  4. Bootstrap历练实例:激活导航状态

    激活导航状态 您可以在激活状态的胶囊式导航和列表导航中放置徽章.通过使用 <span class="badge"> 来激活链接,如下面的实例所示: <!DOCTY ...

  5. WPF MvvmLight简单实例(1) 页面导航

    原文:WPF MvvmLight简单实例(1) 页面导航 实现了那些功能,先看看截图: 操作描述: 在程序运行后,点击“Load”按钮,页面会加载PageOne,点击PageOne页面中的“Next” ...

  6. 【web前端优化之图片模糊到清晰】看我QQ空间如何显示相片

    前言 此篇文章估计不会太长,有移除首页的风险,但是老夫(称老夫是因为我们真正的叶小钗其实都100多岁啦)是不会怕滴.所以,我来了哟! 题外话:今天我们一起还看了一道前端的面试题,而后我本来还想多找几道 ...

  7. 高仿精仿手机版QQ空间应用源码

    说明:本次QQ空间更新了以前非常基础的代码 更新内容一 更新了登陆界面二  增加了输入时密码时和登陆成功后播放音频的效果三 增加了导航条渐隐的效果(和真实QQ空间的导航条一样,首先透明,当tablev ...

  8. QQ空间如何显示相片

    QQ空间如何显示相片 前言 此篇文章估计不会太长,有移除首页的风险,但是老夫(称老夫是因为我们真正的叶小钗其实都100多岁啦)是不会怕滴.所以,我来了哟! 题外话:今天我们一起还看了一道前端的面试题, ...

  9. GIS案例学习笔记-ArcGIS整图大图出图实例教程

    GIS案例学习笔记-ArcGIS整图大图出图实例教程 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 1. 通过出图比例尺(1:2000),地图范围测算图纸大小. 图 ...

随机推荐

  1. MySQL数据库服务器逐渐变慢分析与解决

    一.检查系统的状态 通过操作系统的一些工具检查系统的状态,比如CPU.内存.交换.磁盘的利用率,根据经验或与系统正常时的状态相比对,有时系统表面上看起来看空闲,这也可能不是一个正常的状态,因为cpu可 ...

  2. 如何从海量IP中提取访问最多的10个IP

    算法思想:分而治之+Hash 1.IP地址最多有2^32=4G种取值情况,所以不能完全加载到内存中处理: 2.可以考虑采用分而治之的思想,按照IP地址的Hash(IP) % 1024的值,把海量IP日 ...

  3. oracle 游标例子

    CREATE OR REPLACE PROCEDURE PRC_WAP_ACTIVEUSERS(RETCODE OUT VARCHAR2) /***************************** ...

  4. 自动化测试--封装getDriver的方法

    在自动化测试的时候,通常都会把最常用的功能封装起来,实现通用性. 该篇博客是实现了getDriver方法的封装. 第一次封装的时候,是使用的传参. @Parameters(value = {" ...

  5. 为什么logstash进程的CPU使用率100%?

    机器上有个进程cpu使用率很高,近100%了, Tasks: 120 total, 2 running, 118 sleeping, 0 stopped, 0 zombie%Cpu(s): 99.0 ...

  6. Leetcode 672.灯泡开关II

    灯泡开关II 现有一个房间,墙上挂有 n 只已经打开的灯泡和 4 个按钮.在进行了 m 次未知操作后,你需要返回这 n 只灯泡可能有多少种不同的状态. 假设这 n 只灯泡被编号为 [1, 2, 3 . ...

  7. Chrome 与 Firefox-Dev 的 DevTools

    不管是做爬虫还是写 Web App,Chrome 和 Firefox 的 DevTools 都是超常用的,但是经常发现别人的截图有什么字段我找不到,别人的什么功能我的 Chrome 没有,仔细一搜索才 ...

  8. HDU 4431 Mahjong(枚举+模拟)(2012 Asia Tianjin Regional Contest)

    Problem Description Japanese Mahjong is a four-player game. The game needs four people to sit around ...

  9. Linux---CentOS 定时执行脚本配置

    非常多时候我们有希望server定时去运行一个脚本来触发一个操作.比方使用七牛的工具上传,假设同步文件中面有新添加一个文件,这个时候我们能够提供定时脚本去完毕我们须要的同步命令(七牛的qrsbox工具 ...

  10. UGUI 代码 动态添加 Event Trigger 的事件

    Additionally, if you need more than just the events provided by default, I'd suggest instead attachi ...