Scene与viewController


下面Label组件的显示是HelloWorld Sundy,在右侧的辅助编辑器中,我们此时显示的是viewController中的代码,我们通过代码更改了Label组件中的文本,当运行的时候,显示的就是“你好”而不是“HelloWorld Sundy”。


scene1.png


根据MVC模式可以知道,界面控制是使用viewController来控制。系统默认为我们第一个场景添加了一个viewController.swift文件来控制第一个场景。但是我们手动添加的第二个场景使用辅助编辑器将会是什么样呐?这里打开了UIviewController.h的头文件,也就是打开了我们的基类,这个是一个系统的类。想到这里,我们是否应该想到为第二个场景添加一个viewController呐?那么我们应该如何去添加呐?


scene2.png


点击第二个窗口的view Controller(Sceen上方),再点击右侧的属性,为它指定新建的view Controller类(这里因为我们没有添加新的viewController.swift文件,所以只能选择系统默认为第一个场景所创建的。但是我们应当知道这样做是不好的。),当我们系统默认只有一个viewController.swif文件的时候,我们需要手动添加一个同样类型,不同名字的文件,并将它与另外的场景相关联。关联默认viewController.swif的之后点击第二个场景的时候的辅助编辑器,这个时候两个场景的viewController.swift文件都是一个了。如果这样,也许我们两个场景中都是有Label控件的时候,两个场景的Label控件的命名是不好控制的,容易混淆,所以我们最好为每一个场景添加一个viewController.swift文件。


scene3.png


下面介绍如何为每个View设置自己的ViewController


1.添加对应类文件


scene4.png


scene5.png


文件相应配置如下:


Class:类的名字


Subclass of:继承系统的类


scene6.png


2.为Sceen指定新建的ViewController类


点击第二个窗口的view Controller(Sceen上方),再点击右侧的属性,为它指定新建的view Controller类。


scene7.png



Screen,window,View的关系


Screen


一般也只是用来获取屏幕大小。


Window


一种特殊的View,通常在一个app中只会有一个Window。iOS程序启动完毕后,创建的第一个视图控件就是Window,接着创建控制器的view,最后将控制器的view添加到Window上,于是控制器的view就显示在屏幕上了。


View


负责在屏幕上定义一个矩形区域。视图在展示用户界面及响应用户界面交互方面发挥关键作用。每个视图对象都要负责渲染视图矩形区域中的内容,并响应该区域中发生的操作事件。


scene8.png



ViewController与View的关系


每一个Sceen对应各自的ViewController。


scene9.png



【本文由麦子学院独家原创,转载请注明出处并保留原文链接】

logo
© 2012-2016 www.maiziedu.com
蜀ICP备13014270号-4 Version 5.0.0 release20160127

免费领取价值1888元求职宝典!

客服热线 400-862-8862

回到顶部