控制器的创建方式
2015-10-22 20:16
239 查看
"【什么是视图控制器】"
(1)视图控制器就是用来 ”控制“
或者说 ”管理“
界面(视图)的
"换句话说界面长得丑与美由视图控制器说的算
(2)每个视图控制器(UIViewController)都有一个View属性来描述界面长什么样
(3)前面所讲的设置窗口的根控制器其实就是会把视图控制器的里View会添加在窗口上进行显示
试图控制器的创建方式(三种)
一、直接创建控制器
1.1》先创建一个控制器的类
![](http://img.blog.csdn.net/20151022201638455?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
1.2》
![](http://img.blog.csdn.net/20151022201831649?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
二、通过Storyboard的方式创建
![](http://img.blog.csdn.net/20151022204233611?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2.1> 创建初始化控制器作为window的跟控制器
![](http://img.blog.csdn.net/20151022204358090?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2.2> 加载标识的控制器作为window的跟控制器
![](http://img.blog.csdn.net/20151022204759537?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20151022204607999?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
三、通过加载xib的方式创建控制器
* xib也是描述界面长什么样的
* 调用控制器的【-(instancetype)initWithNibName:bundle:】;
* 方法为什么是nib,因为程序打包运行后,xib会放在bundle目录下,并且后缀名为nib"进入沙盒验证"
* xib的
"File's Owner"
是代表界面由谁管理,控制器view对应哪个界面的描述
![](http://img.blog.csdn.net/20151022210049057?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20151022210103614?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
需要注意的细节:
(1)使用init方法创建控制器时
* 如果当前项目中 '有'
与类名相同的xib,会加载xib的界面成功控制器的视图,
* 如果当前项目中 '没有'
与类名相同的xib,就返回一个白色的View
(2)创建同类名的xib【BlueViewControler.xib】,如果没有指定
"file's owner"
的view连线哪个view,会报错
"(此处要仅记)"
(3)如果创建BlueView.xib,控制器的view会先加载BlueView.xib,如果没有BlueView.xib,再找BlueViewControler.xib,如果BlueViewControler.xib也没有,就自己创建一个空白的界面
(4)loadView方法--初始化控制器的view
*空实现,不返回view
*self.view = UITableView
(1)视图控制器就是用来 ”控制“
或者说 ”管理“
界面(视图)的
"换句话说界面长得丑与美由视图控制器说的算
(2)每个视图控制器(UIViewController)都有一个View属性来描述界面长什么样
(3)前面所讲的设置窗口的根控制器其实就是会把视图控制器的里View会添加在窗口上进行显示
试图控制器的创建方式(三种)
一、直接创建控制器
1.1》先创建一个控制器的类
1.2》
二、通过Storyboard的方式创建
2.1> 创建初始化控制器作为window的跟控制器
2.2> 加载标识的控制器作为window的跟控制器
三、通过加载xib的方式创建控制器
* xib也是描述界面长什么样的
* 调用控制器的【-(instancetype)initWithNibName:bundle:】;
* 方法为什么是nib,因为程序打包运行后,xib会放在bundle目录下,并且后缀名为nib"进入沙盒验证"
* xib的
"File's Owner"
是代表界面由谁管理,控制器view对应哪个界面的描述
需要注意的细节:
(1)使用init方法创建控制器时
* 如果当前项目中 '有'
与类名相同的xib,会加载xib的界面成功控制器的视图,
* 如果当前项目中 '没有'
与类名相同的xib,就返回一个白色的View
(2)创建同类名的xib【BlueViewControler.xib】,如果没有指定
"file's owner"
的view连线哪个view,会报错
"(此处要仅记)"
(3)如果创建BlueView.xib,控制器的view会先加载BlueView.xib,如果没有BlueView.xib,再找BlueViewControler.xib,如果BlueViewControler.xib也没有,就自己创建一个空白的界面
(4)loadView方法--初始化控制器的view
*空实现,不返回view
*self.view = UITableView
相关文章推荐
- Arrays
- js 函数的方法 函数调用模式 this => that arguments
- Spring MVC 静态资源的访问
- 优秀Python学习资源收集汇总
- 指针学习笔记(1)——运算符*
- centos7 在NAT环境下搭建vsftp
- iPhone屏幕尺寸、分辨率及适配
- 访问word Error #2044: 未处理的 IOErrorEvent:. text=Error #2038: 文件 I/O 错误. (服务器处理方案)
- iOS NSThread
- 在win7下的简单的备份python脚本
- HDU1284 钱币兑换问题
- poj 1979 Red and Black 【dfs(模板)】
- 【OJ】QUST 1401
- CSS/CSS3 如何实现元素水平居中
- shell中变量自增的实现方法
- UML学习笔记之用例图
- CSS/CSS3 如何实现元素水平居中
- [原]unity5 AssetBundle打包
- 计算单词的个数
- Android Camera多屏幕适配解决预览照片拉伸