iOS开发者皆知的十大Controller

iOS UIViewController的种类和作用

Controller的9大种类

  1. View Controller - Provides view-management functionality for toolbars, navigation bars, and application views. The UIViewController class also supports modal views and rotating views when device orientation changes.
  2. Navigation Controller - Manages a stack of view controllers, each of which represents information about a view, such as its title and the navigation item associated with the view. When view controllers are pushed onto and popped off the stack, the navigation controller updates the navigation bar and view appropriately.
  3. Table View Controller - Manages a UITableView, automatically creating an instance with the correct dimensions and resizing mask, and acting as the table view's delegate and data source. The UITableViewController class also provides toggling of editing modes.
  4. Collection View Controller - Manages a UICollectionView, automatically creating an instance with the correct dimensions and resizing mask, and acting as the collection view's delegate and data source.
  5. Tab Bar Controller - Manages a set of view controllers, each of which represents a tab bar item. Each view controller provides information about its tab bar item and supplies the view to be displayed when the item is selected.
  6. Split View Controller - A composite view controller that manages left and right view controllers.
  7. Page View Controller - Presents a sequence of view controllers as pages, via coordination with a data source and delegate. Swipe navigation between the pages is automatically handled with a page curl transition that tracks the user's finger. The navigation orientation can be horizontal, like pages in a book, or vertical, like pages in a wall calendar.
  8. GLKit View Controller - The GLKViewController class provides all of the standard view controller functionality, but additionally implements an OpenGL ES rendering loop. A GLKViewController object works in conjunction with a GLKView object to display frames of animation in the view.
  9. AVKit Player View Controller - A controller that manages an AVPlayer object, which can display audiovisual content and standard playback controls.
  10. Search Bar and Search Display Controller - The UISearchBar control provides a text field for entering text, a search button, a bookmark button, and a cancel button. The search display controller manages display of a search bar and a table view that displays the results of a search of data managed by another view controller. If the search bar is inserted into a view controller's view, the appropriate connections to the search display controller will automatically be configured.

1.View Controller

一个视图控制器管理。

继承自:UIResponder : NSObject

作用:UIViewController管理一个view的最基本的基类,当一个view要显示或者消失的时候,UIViewController有相应方法会被调用。子类可以重写loadView方法去创建他们自定义的view,或者指定一个nib被自动加载实现。这个类也是对于代理,数据源协议方法和一些其他控制器的方法展示实现一个很好的空间地方。

2.Navigation Controller

一个控制器管理导航层次结构

继承自:UIView : UIResponder : NSObject

作用:UINavigationController管理一堆视图控制器,每个代表一个视图的信息,比如它的标题和与视图相关的导航项。当视图控制器推到和从栈中弹出,导航控制器更新适当的导航栏和视图。

3.Table View Controller

一个表格视图控制器管理。

继承自:UIViewController : UIResponder : NSObject

作用:UItableViewController创建一个控制器对象,管理一个表格(UItableView)视图。

4.Collection View Controller

一个集合视图控制器管理。

继承自:UIViewController : UIResponder : NSObject

作用:UICollectionViewController代表一个视图控制器由一个集合视图组成的内容。

5.Tab Bar Controller

控制器管理一组视图控制器代表标签栏项目。

继承自:UIViewController : UIResponder : NSObject

作用:UITabBarController实现了一个专门的视图控制器管理radio-style选择界面。这个标签栏界面显示窗口底部的标签之间的选择不同的模式和显示的视图模式。

6.Split View Controller

一个复合视图控制器管理左和右视图控制器。

继承自:UIViewController : UIResponder : NSObject

作用:UISplitViewController一个容器视图控制器,提出了一种主从复合结构的界面。在一个主从复合结构的界面,主要视图控制器的变化(主)驱动器改变第二个视图控制器(细节)。这两个视图控制器可以安排他们并排,一次只有一个是可见的,或者这只是部分隐藏了另一个。在iOS 8之后,您可以使用UISplitViewController类所有iOS设备;在早期版本的iOS,该类只能在iPad上用。

7.Page View Controller

呈现一系列的页面视图控制器。

继承自:UIViewController : UIResponder : NSObject

作用:UIPageViewController让用户在页面之间导航的内容,每一页都由自己的视图控制器管理对象。导航可以由应用程序以编程的方式控制或由用户直接使用手势。当导航页面,页面视图控制器使用你指定的过渡动画改变。

8.GLKit View Controller

一个控制器管理GLKit视图。

继承自:UIViewController : UIResponder : NSObject

作用:GLKViewController提供了所有的标准视图控制器的功能,但另外实现一个OpenGL ES呈现循环。GLKViewController对象结合GLKView工作对象在视图中显示帧的动画。

9.AVKit Player View Controller

一个视图控制器管理AVPlayer对象。

继承自:UIViewController : UIResponder : NSObject

作用:AVPlayerViewController显示的视频内容AVPlayer对象与系统提供的播放控制。

10.Search Bar and Search Display Controller

搜索显示控制器管理显示搜索栏和表视图显示一个搜索的结果数据管理的另一个视图控制器。

继承自:UIViewController : UIResponder : NSObject

作用:UISearchController专门为UITableView搜索封装的一个类。

总述

作为一个iOS开发者,不但要会用iOS开发的各种控件,可能还需要了解一些专业性的术语,也就是很多公司在招聘的时候会有一些奇葩的面试题,往往大多面试题就包含了这些。所以,闲时,多了解一点,何尝不可。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容

  • /* UIViewController is a generic controller base class th...
    DanDanC阅读 1,789评论 0 2
  • Swift版本点击这里欢迎加入QQ群交流: 594119878最新更新日期:18-09-17 About A cu...
    ylgwhyh阅读 25,278评论 7 249
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,121评论 29 470
  • 喜欢在这样一个阴阴的下雨天,把车停在湖边,听听电台的音乐,看看前面飘着雨的湖。 今天,雨还没有下起来,天气却是凉凉...
    珺二爷阅读 362评论 0 2
  • 最近又学习和研读了几本灵性书籍,其中让我感悟较深和最有话想说的是《告别娑婆》和《零极限》。 《告别娑婆...
    利一众生阅读 851评论 0 1