在iOS中,不同的视图控制器负责不同的功能,采用不同的风格向用户呈现信息。下面对各个视图控制器做个总结:

1,标准视图控制器 - View Controller
这个控制器只是用来呈现内容。通常会用来作为子类,以向屏幕中添加逻辑。
2,导航控制器 - Navigation Controller
这个控制器呈现一个视图控制器的栈,应用程序可以在上面推入更多的视图控制器。
当新视图推入栈,或旧视图弹出栈时,导航控制器会以动画的形式(比如卷动)显示隐藏这些视图。
使用样例:系统“设置”应用程序
3,表格视图控制器 - Table View Controller
这个视图控制器给出了一个单元列表,其中的单元格可以分别配置、设定格式、排序和分组。
表格视图控制器可用于显示一组项目,经常与导航控制器结合使用,列出可供用户使用的视图。
使用样例:系统“设置”,“电话”应用程序
4,选项卡栏控制器 - Tab Bar Controller
这个用来呈现一组视图控制器,可以通过底部的一个选项卡栏进行选择。当用户点击选项卡栏上的按钮时,选项卡栏控制器会隐藏当前显示的视图控制器,并显示另一个。
使用样例:系统“App Store”应用程序
5,分割视图控制器 - Split View Controller
这个可以并排显示父子视图结构,可以在父视图中查看一个概览,在子视图中查看详细信息。
在iOS8之前,只有iPad上提供分割视图控制器。自iOS8起,使用分割视图控制器,系统会自动决定控制器的外观。可能会并排显示视图、在查看子视图时隐藏父视图,或将父视图作为覆盖层显示。
使用样例:iPad上的“设置”应用程序
6,页面控制器 - Page View Controller
这个控制器在一个“翻页”界面中呈现视图控制器。像一本书一样,书里的每一“页”都是一个视图控制器,用户可以在屏幕上拖动手指来翻页。适用于创建书籍或杂志风格的应用程序。
使用样例:iPhone或iPad上的“iBooks”应用程序
7,GLKit控制器 - GLKit View Controller
这个控制器允许使用OpenGL向用户呈现3D图像。是一个非常专用化的视图控制器。
8,集合视图控制器 - Collection View Controller
这个视图控制器呈现一种可定制、可配置的视图网格,其呈现方式类似于表格视图控制器,但其中是更为灵活的项目,而不再是单独的单元格。
使用样例:iPhone上的“照片”应用程序
9,AVKit播放器视图控制器 - AVKit Player View Controller
这个控制器显示一个全屏视频播放器,是为了播放视频内容设计的。
(注意:在iOS上,视图控制器可以包含其他视图控制器。比如导航控制器就是一个视图控制器,用来管理屏幕顶端导航栏的外观,以及一个或多个其他视图控制器。)

原文出自:www.hangge.com  转载请保留原文链接:http://www.hangge.com/blog/cache/detail_839.html

最新文章

  1. wordpress 安装 "Table Prefix" must not be empty.
  2. was部分更新
  3. C# 复制(深拷贝、浅拷贝)
  4. 1-01Sql Sever 2008的安装
  5. tar split命令
  6. iOS学习之C语言函数指针
  7. 【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记2 Xcode、Auto Layout及MVC
  8. zoj 3659
  9. 【转】设置TextView文字居中
  10. RESTful架构详解(转)
  11. Hibernate乐观锁、悲观锁和多态
  12. Spring - bean的依赖关系(depends-on属性)
  13. ASP.NET Core中实现单体程序的事件发布/订阅
  14. 基于spring框架的jt项目分页查询知识点(二)
  15. kettle的资源库创建及修改密码
  16. [Eclipse]在重命令文件名时,提示编码格式有问题导致修改失败,需要设置如下几个默认编码为UTF-8
  17. keras 类似问题解决:model找不到,或者无法下载
  18. LeetCode147:Insertion Sort List
  19. tomcat 启动异常 EOFException: Unexpected end of ZLIB input stream
  20. Flask中的session和cookie以及日志

热门文章

  1. Cocos2d-x win7 + vs2010 配置图文详解(亲测)
  2. BZOJ 1599: [Usaco2008 Oct]笨重的石子( 枚举 )
  3. vs2010中iostream.h出错
  4. 转: seajs知识点与cmd规范
  5. HAMA
  6. android中使用DisplayMetrics获取屏幕参数
  7. 权限管理之基于ACL的实现:自定义JSTL函数实现即时认证
  8. 在Xcode中使用C++与Objective-C混编
  9. JavaScript 高级程序设计(第3版)笔记——chapter5:引用类型
  10. 畅通工程续(Dijkstra算法)