在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

Swift - iOS中各种视图控制器(View Controller)的介绍的更多相关文章

  1. iOS开发之视图控制器(UIViewController)

    视图控制器应该在MVC设计模式中扮演控制层(C)的角色,UIViewController的职责对内管理与之关联的View,对外跟其他UIViewController通信和协调.一个视图控制器管理一个视 ...

  2. 浅谈iOS中的视图优化

    引言: 让我们来思考几个问题,你开发过的产品,它还有可以优化的地方吗?能增加它的帧率吗?能减少多余的CPU计算吗?是不是存在多余的GPU渲染?业务这点工作量对于越来越强大的设备面前显得微不足道,但作为 ...

  3. Django笔记&教程 2-3 视图(view)函数介绍

    Django 自学笔记兼学习教程第2章第3节--视图(view)函数介绍 点击查看教程总目录 参考文献:https://docs.djangoproject.com/en/2.2/topics/htt ...

  4. iOS学习之视图控制器

    一.自定义视图(label-textField组合视图)      1.自定义视图:系统标准UI之外,自己组合出的新的视图.      2.优点:iOS提供了很多UI组件,借助它们我们可以实现不同的功 ...

  5. iOS:iOS中的多控制器管理

    iOS中的控制器有三种创建方式: 1.通过storyboard创建 UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@" ...

  6. iOS之深入了解控制器View的加载

    前言 在面试中,面试官可能会问这样的问题,loadView有什么作用,它与viewDidLoad有何区别 首先我们得知道,控制器view是通过懒加载的方式进行加载的,即用到的时候再加载. loadVi ...

  7. iOS 中的视图函数 init initwithnib viewDidLoad viewWillAppear的总结

    我要总结的函数主要是这几个: UIView *view-如果view还没有被初始化的话,getter方法会先调用[self loadView],如果getter或者setter方法被重写了,子类中的g ...

  8. 获取Storyboard中的视图控制器

    storyboard对于框架的构建是一个非常方便的工具,我们经常需要在storyboard中获取我们指定的视图控制器,那么要怎么获取呢? 方法如下: 第一步:选中视图,为视图自定义一个Storyboa ...

  9. iOS:UIPageViewController翻页控制器控件详细介绍

    翻页控制器控件:UIPageViewController 介绍: 1.它是为我们提供了一种类似翻书效果的一种控件.我们可以通过使用UIPageViewController控件,来完成类似图书一样的翻页 ...

随机推荐

  1. base64这种编码的意义

    BASE64不是用来加密的.你看看经过BASE64编码后的字符串,全部都是由标准键盘上面的常规字符组成,这样编码后的字符串在网关之间传递不会产生UNICODE字符串不能识别或者丢失的现象.你再仔细研究 ...

  2. 基于Qt下移动平台第三方接入-ShareSDK(新浪微博,微信朋友圈等分享登录)

    一. ShareSDK简介 ShareSDK是为iOS.Android.WP8的APP提供社会化功能的一个组件,开发者只需10分钟即 可集成到自己的APP中,它不仅支持如QQ.微信.新浪微博.腾讯微博 ...

  3. Python开源异步并发框架

    Python开源异步并发框架的未来 2014年3月30日,由全球最大的中文IT社区CSDN主办的“开源技术大会·” (Open Source Technology Conference ,简称OSTC ...

  4. cocos2dx进阶学习之瓦片地图编辑器

    之前学习了瓦片地图类,现在我们来学习下瓦片地图制作工具 这个是开源的工具,可以从网上下载,下面我们演示下怎么做地图 步骤1 将需要用到的图片放到一个目录下,比如我机器上就是d:\tiled,这些图片是 ...

  5. leetcode先刷_Search in Rotated Sorted Array II

    上一页下一页,找到相同的旋转阵列的问题.假设数组元素一再怎么办呢?会发生什么? 我给大家举一个极端的例子.如果是这样的阵列中的元件.1,1,2,1,1,1,1,我们想看看这个数组2,刚开始A[midd ...

  6. 最小值滤波 (C 语言实现)

    最小值滤波 (C 语言实现) 遇到最小值滤波的问题,小白不知道.一个程序写了三天,最终今天傍晚出来了. .. 非常easy的for循环.可是没有理解最小值滤波.怎么写都是错啊~ 这是我见过做好的描写叙 ...

  7. 抽象工厂模式和autofac的使用总结

    抽象工厂模式和依赖注入的使用目的都是降低对象直接依赖耦合关系,应该说依赖注入是抽象工厂模式的一种升华,功能更强大. 说到抽象工厂的模式,一般都要先解释下简单工厂,简单工厂就是将对象的实例化抽取出来形成 ...

  8. 第一篇:NSTread线程的创建

    #import "ViewController.h" //导入头文件 #import <pthread.h> @interfaceViewController () @ ...

  9. String类的一些方法

    String 类有以下方法: startsWith(String prefix) boolean java.lang.String.startsWith(String prefix) Tests if ...

  10. C++ cout 如何保留小数输出

    参考 : http://upliu.net/how-cout-out-2-precision.html 大家都知道用 C 语言中 printf () 函数可以非常方便控制保留 几位小数输出 不过在 C ...