Cocoa-ViewController

ViewController简介 

        Cocoa Touch采用了Model-View-Controller (MVC)设计模式,在该设计模式中,一个Controller 对象是连结数据和视图之间的桥梁。对于IOS程序,View Controller 则用来展示和管理一系列的视图,从UIViewController继承而来。


        ViewController 在IOS程序的设计和执行中担当着一个很重要的角色。由于IOS设备屏幕空间的限制,程序在设计中需要考虑如何灵活的展示信息给用户。如果一个程序包含很多的内容,那么可能需要在不同的时间来显示或者隐藏部分内容。ViewController可以管理相关内容的视图,以及显示或者隐藏它们。


         Screen shot 2011-09-01 at 4.56.07 PM.png


         上图展示了三个不同的屏幕(但是是相关的),第一个屏幕是一个菜谱的列表,点击某一行就会显示第二个屏幕(详细信息),点击小图片就会进入第三个屏幕全屏显示大图。每个屏幕都由不同的三个viewcontroller来管理,展示合适的view和数据,以及和视图的交互。


        

ViewController 类集


Screen shot 2011-09-01 at 5.07.07 PM.png


1.Custom View Controller

          

          Custom View Controllers 是程序的内容的主要协调管理者。可以通过继承UIViewController来创建一个custom view controller。Custom View Controller 用来管理自定义的内容,所以这个view controller的很多代码都比较特殊,不过也有一些通用的所有的view controller都支持的行为。


   

2. Table View Controller


           UITableViewController类是Custom View Controller 的一个特别设计类型,用来管理表格数据的控制器。UITableViewController支持很多标准的和表格相关的行为,例如:选取,行编辑,表格配置等。同时可以继承该类来执行额外的自定义功能,当然,任何由UITableViewController控制的View都应包含一个表格视图对象。


     Screen shot 2011-09-01 at 5.30.07 PM.png


    

3. Navigation Controller


         Navigation Controller 是一个容器试图控制器,使用UINavigationController类。该类的方法支持管理Custom View Controller的集合,也就是该类用来控制多个试图控制器的交互显示。UINavigationController通过一个导航栏来控制显示用户当前的信息,返回按钮用来返回到上一个屏幕。同时Navigation Controller也管理一个可选的工具栏,该工具栏用来执行与当前显示屏幕有关的一些行为。导航栏和工具栏不能够被直接修改,但可以配置它们。


Screen shot 2011-09-01 at 5.47.22 PM.png


4. Tab Bar Controller


         Tab Bar Controller也是一个容器类视图控制器。Tab Bar Controller用一个tab bar view来显示不同的模式,当一个tab被选中,和它相关的view controller就会在屏幕上展示。如果你的程序需要显示不同的数据模块,或者用不同的方式显示相同的数据,那么就可以使用UITabViewController。


         Screen shot 2011-09-01 at 5.47.22 PM.png

    5. Split View Controller


         Split View Controller也是一个容器类试图控制器,使用UISplitViewController。Split视图界面来自于两个视图控制器,在横屏时,Split View Controller左右两边各自显示一个view controller。竖屏时,则显示一个view controller,另外一个则使用popover的方式交互显示。


Screen shot 2011-09-01 at 6.03.51 PM.png



总结:View Controller作用就是以不同的方式来展示不同的view,并且控制数据和视图的交互。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值