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 ...
随机推荐
- 开源中国上抓取的content-type
开源中国上抓取的content-type类型,来源:http://www.cnblogs.com/smallyard/p/5632608.html { ".*": "ap ...
- BZOJ 4448: [Scoi2015]情报传递 树链剖分 主席树
4448: [Scoi2015]情报传递 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=4448 Description 奈特公司是一个巨 ...
- Oracle 12c on Solaris 10 安装文档
http://www.orasql.com/blog/archives/2013/08/20/12c_solaris.htm
- 第一次ACM赛后总结及感悟
2014 "嘉杰信息"杯 ACM/ICPC湖南程序设计邀请赛暨第六届湘潭程序设计比赛 赛后总结,尽管已经是大二第二学期了,这却是我的第一次真正的ACM比赛经历,大一尽管说就已经进了 ...
- 防火墙 0x80070422
1.无法打开操作中心-安全服务,解决方法:控制面板->管理工具->服务,找到Security Center 服务,双击打开,查看启动类型是否设置成禁用,是的话更改成自动或者延迟启动,之后就 ...
- Windows和Linux下如何查看端口被哪个进程占用
Windows: C:/Users/ewanbao>netstat -aon|findstr "123" TCP 127.0.0.1:55123 0.0 ...
- 解决sqoop导入报错:Caused by: java.sql.SQLException: Protocol violation
报错信息: -- ::, INFO [main] org.apache.hadoop.mapred.MapTask: Ignoring exception during close for org.a ...
- 【BZOJ】【2200】【USACO 2011 Jan】道路和航线
做了一天…… TLE:数组开小了-_-#道路是有50000的,双向要乘二.(我特么怎么想的就以为是树了……) WA:一些大点都WA了,小点都过了.好纠结…… AC了QAQ,不知道为什么,在并查集合并的 ...
- [leetcode]Balanced Binary Tree @ Python
原题地址:http://oj.leetcode.com/problems/balanced-binary-tree/ 题意:判断一颗二叉树是否是平衡二叉树. 解题思路:在这道题里,平衡二叉树的定义是二 ...
- Largest Rectangle in Histogram leetcode java
题目: Given n non-negative integers representing the histogram's bar height where the width of each ba ...