博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
窗口、视图、视图控制器
阅读量:4591 次
发布时间:2019-06-09

本文共 1016 字,大约阅读时间需要 3 分钟。

窗口
窗口和视图被用来表示应用程序的可视内容和管理与用户的直接交互。一个窗口是一个UIWindow类的实例。本身是不可见的。用来承载一个或多个视图。窗口覆盖整个屏幕。极大多数的iOS应用程序只有一个窗口。
视图 
一个视图是一个UIView类的实例,定义了应用程序窗口上的一块矩形区域。视图在其矩形区域内显示内容,有一些可以变化的属性,并能收到触击事件。视图同样可以有一系列的子视图。 
许多的用户接口类是UIView类的子类。我们可以通过把层次结构把多个UI元素组合在一起来构造复杂的UI。
如下图:

图片来源:《iPhone.and.iPad App.24-Hour.Trainer》
MVC模式
iOS编程最常用到的模式是MVC模式。MVC模式要求编程者思考:一个类是属于相互区别的模式、视图、控制器中(数据、视图、管理者)的哪一种。如果你的类扮演了上述三种角色中的一种以上,那么那不是一个好的设计。
数据类(模型类):用来存储和以某种方式组织数据。数据可用是从某个网站上获得的股票价格,一篇用户输入的文章等待。
视图类:负责把数据展示给用户。
管理类(控制类):管理数据与视图之间的连接。
MVC的目标是使对象能够尽可能的相区别,分工合作。以增强程序的可扩展性、灵活性。一个类表示了股票价格就不应该有任何画图的代码。一个类实现了一个按钮就不应该再去处理当用户按下按钮时的输入。
iOS基本都遵从MVC模式。所以就有了三个大类之分:数据类、视图类、控制器类。
控制器管理内容以及用户与视图的交互。视图复杂展示用户接口例如一个按钮,代码(在控制器类中)就负责实现当按钮被按下时要做的操作(反应)。
最常用到的控制器类是UIViewController。
UIViewController类定义了许多当重要事件发生时调用的方法。我们可以在我们的控制器类中覆盖这些方法,以便当重要事件发生时做些什么。
几个需要重载的最常用的方法有:
- didReceiveMemoryWarning: 内存不足时调用
viewDidLoad: 视图被加载到内存后调用。这个函数是一个初始化我们自己UI元素的好地方。
我们可以通过xcode Interface Builder来方便的创建控制器类和UI元素之间的连接。

转载于:https://www.cnblogs.com/uvsjoh/archive/2012/08/16/2643112.html

你可能感兴趣的文章
android新手关于左右滑动的问题,布局把<android.support.v4.view.ViewPager/><ImageView/> 放在上面就不行了。...
查看>>
深入理解DIP、IoC、DI以及IoC容器
查看>>
赋值文件
查看>>
Vue 数组 字典 template v-for 的使用
查看>>
蓝牙模块选择经验谈
查看>>
java中==和equals
查看>>
CCActionPageTurn3D
查看>>
python random
查看>>
esp32-智能语音-cli(调试交互命令)
查看>>
netty与MQ使用心得
查看>>
jquery 实现3d切割轮播图
查看>>
学习spring cloud 笔记
查看>>
字符串截取,SubString
查看>>
Android: 网络随时需要在3G和Wifi切换,网络程序需要注意
查看>>
ajax调用servlet
查看>>
IText 生成横向的doc文档
查看>>
认识了个外国友人!
查看>>
对Cookie进行增删改查
查看>>
MySQL sql语句获取当前日期|时间|时间戳
查看>>
微信支付官方SDK V3 .NET版的坑
查看>>