在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. ACE6.2.0文件/目录操作

    文件读取.#include "ace/FILE_Connector.h"#include "ace/FILE_IO.h"void fileRW(){ACE_FI ...

  2. unity之uv贴图画圆弧,圆弧面,不规则图形

    由于最近一直没有时间,所以这篇博客一直没发,下面我说说uv画圆弧,圆面,不规则面拼接. 先来两张效果图 图截的不咋滴,凑合着看吧,画圆弧主要用的贝塞尔曲线画的,我感觉这个比较简单,当然大家也可以使用圆 ...

  3. python中mcmc方法的实现

    MCMC方法在贝叶斯统计中运用很多,MIT发布的EMCEE是实现的比较好的.介绍页面在下面.源代码中examples里的代码可以帮助理解各种功能,特别是line.py 列出了最小二乘法,最大似然法和M ...

  4. [LeetCode]题解(python):025-Reverse Nodes in k-Group

    题目来源: https://leetcode.com/problems/reverse-nodes-in-k-group/ 题意分析: 这道题目和上一题目类似,输入一个链表和一个整型k.每k个翻转一下 ...

  5. QT无标题窗口在任务栏显示关闭(增加系统菜单)

    在对话框中使用了如下代码: setWindowFlags(Qt::FramelessWindowHint); 在任务栏上右键点击程序,不会弹出菜单,解决办法,使用下面代码: setWindowFlag ...

  6. 一个ShellExecute的超全说明(www.phidels.com这个网站很多内容)

    I. Introduction / Déclaration ShellExecute fait partie des innombrables fonctions de l'API Windows ; ...

  7. IT第二十六天 - Swing、上周总结

    IT第二十六天 上午 Swing 1.对于方法的参数如果是int数值类型,应该直接调用该类中的常量属性,而不应该直接填入数字 2.Toolkit类中定义的方法是可以直接访问本地计算机(操作系统)信息的 ...

  8. Deep Learning论文笔记之(六)Multi-Stage多级架构分析

    Deep Learning论文笔记之(六)Multi-Stage多级架构分析 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些 ...

  9. UVALive 5102 Fermat Point in Quadrangle 极角排序+找距离二维坐标4个点近期的点

    题目链接:点击打开链接 题意: 给定二维坐标上的4个点 问: 找一个点使得这个点距离4个点的距离和最小 输出距离和. 思路: 若4个点不是凸4边形.则一定是端点最优. 否则就是2条对角线的交点最优,能 ...

  10. arduino电子琴(2015-11-04)

    前言 这是论坛上一个坛友问的问题,想做一个可变音调的电子琴,想着正好练练手,就顺手做一下. 接线图