Step by Step iOS Project In Action - 视图控制器
1. 什么是视图控制器(View Controller)
简单来说,视图控制器用来管理你所有的视图。
他们是你的视图和模型的粘合剂。
如果你做过MVC的Web项目,我想你应该不会对它感到陌生。
2. 视图控制器的声明周期
| Method | Description |
| loadView | 创建并返回一个视图控制器的视图 |
| viewDidLoad | 视图已经完成加载 |
| viewWillAppear | 视图将要呈现(有或者没有动画) |
| viewDidAppear | 视图完成呈现(有或者没有动画) |
| viewWillDisappear | 视图将要消失(有或者没有动画) |
| viewDidDisappear | 视图已经消失(有或者没有动画) |
| viewWillLayoutSubviews | 视图将要布局它的子视图 |
| viewDidLayoutSubviews | 视图已经完成它的子视图的布局 |
| didReceiveMemoryWarning | 视图收到内存即将耗尽的警告 |
3. 生命周期流程

4. 一些系统的视图控制器
| UIViewController subclass | Description |
| UINavigationController | 管理和导向类似树状层级的视图控制器 |
| UITabBarController | 以tab bar形式管理和呈现视图控制器 |
| UITableViewController | 以表格形式管理和呈现视图控制器 |
| UICollectionViewController | 以集合形式管理和呈现视图控制器 |
5. 自定义设备方向
// support just portrait
-(NSUInteger) supportedInterfaceOrientations
{
return UIInterfaceOrientationPortrait;
} // support both portrait and landscape orientations(include upsidedown)
-(NSUInteger) supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskAll;
} // support both portrait and landscape orientations
- (NSUInteger) supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscape;
}
Step by Step iOS Project In Action - 视图控制器的更多相关文章
- iOS Programming View Controllers 视图控制器
iOS Programming View Controllers 视图控制器 1.1 A view controller is an instance of a subclass of UIVi ...
- iOS学习22之视图控制器
1.自定义视图 1> 概述 定义视图:系统标准UI之外,自己组合而出的新的视图. 定义视图的优点: iOS提供了很多UI组件,借助它们我们可以实现不同的功能.尽管如此,实际开发中,我们还需要 ...
- iOS 动画学习之视图控制器转场动画
一.概述 1.系统会创建一个转场相关的上下文对象,传递到动画执行器的animateTransition:和transitionDuration:方法,同样,也会传递到交互Controller的star ...
- iOS CoCoa编程中视图控制器与视图类(转)
分类: iPhone2012-05-28 11:19 837人阅读 评论(0) 收藏 举报 cocoa编程iosuinavigationcontrolleruiviewiphone iPhone编程规 ...
- IOS Note - View Controller(视图控制器)
Application Delegate(应用程序委托) Application Name: SingleView SingleViewAppDelegate.h #import <UIKit/ ...
- iOS开发中视图控制器ViewControllers之间的数据传递
iOS开发中视图控制器ViewControllers之间的数据传递 这里我们用一个demo来说明ios是如何在视图控制器之间传递重要的参数的.本文先从手写UI来讨论,在下一篇文章中讨论在storybo ...
- PyTorch in Action: A Step by Step Tutorial
PyTorch in Action: A Step by Step Tutorial PyTorch in Action: A Step by Step Tutorial Installation ...
- WPF Step By Step 系列-Prism框架在项目中使用
WPF Step By Step 系列-Prism框架在项目中使用 回顾 上一篇,我们介绍了关于控件模板的用法,本节我们将继续说明WPF更加实用的内容,在大型的项目中如何使用Prism框架,并给予Pr ...
- WPF MVVM 架构 Step By Step(6)(把actions从view model解耦)
到现在为止,我们创建了一个简单的MVVM的例子,包含了实现了的属性和命令.我们现在有这样一个包含了例如textbox类似的输入元素的视图,textbox用绑定来和view model联系,像点击but ...
随机推荐
- Makefile-fPIC,C++静态库与动态库
在计算机领域中,地址无关代码 (英文: position-independent code,缩写为PIC),又称地址无关可执行文件 (英文: position-independent executab ...
- django: ListView解读
[转载注明出处: http://www.cnblogs.com/yukityan/p/8039041.html ] django内置列表视图: # 导入 from django.views.gener ...
- spring---transaction(5)---事务的体系
1.写在前面 事务的模型为3中: 本地事务模式. 编程事务模式. 声明事务模式. 例子1:本地事务模式 Connection conn=jdbcDao.getConnection(); Prepare ...
- Is there a way to detect if call is in progress? Phone Event
First you need 3 profiles to monitor the phone state: Event: Phone IdleVariable Clear %Phoning Event ...
- java 盒子模型
http://www.cnblogs.com/xiaohuochai/tag/javascript%E6%80%BB%E7%BB%93/
- Linux下open与fopen的区别
int open(const char *path, int access,int mode) path 要打开的文件路径和名称 access 访问模式,宏定义和含义如下: ...
- Available Date 相关
Available Date 写错了怎么办? http://www.cocoachina.com/bbs/read.php?tid=7224&page=1现在好像不需要改那个availa ...
- Java 中的 int 与 Integer 用于 List<Integer> 时,以及通过打印变量检測程序执行和函数调用次数计数
总结一下近期做的东西中遇到的问题 1. Java 中的 int 与 Integer 用于 List<Integer> 时 两者之间的关系都是非常清楚的.int 是基本数据类型,存储的是值 ...
- win7下安装配置ftp服务器
1. win7操作系统自带了ftp组件,所以不需要另外下载.只需要在控制面板中,添加或删除组件中启用即可. 2. 在管理上,ftp和iis是属于同一个目录的.ftp也可以算是internet info ...
- Guava Files 源码分析(二)
createTempDir()之后就没有什么有意思的函数了,基本上都是对Java IO函数操作的聚合,只看一个simplifyPath() /** * Returns the lexically cl ...