iOS开发iOS学习笔记iOS 开发

通过storyboard和xib创建控制器

2016-03-02  本文已影响265人  Tang_shuya

storyboard

//1.创建窗口

self.window= [[UIWindowalloc]initWithFrame:[UIScreenmainScreen].bounds];

//2.获取storyboard中箭头指向的控制器

UIStoryboard*storyboard = [UIStoryboardstoryboardWithName:@"Main" bundle:nil];

//UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"123"

bundle:nil];

UIViewController*vc = [storyboardinstantiateInitialViewController];

//3.设置window的主控制器

self.window.rootViewController= vc;

//4.显示窗口

[self.windowmakeKeyAndVisible];

xib

/通过xib加载控制器的步骤

//1.创建xib文件

//2.xib拖一个view去描述控制器的view

//3.告诉xib是描述控制器,设置file'owner为控制器,可以往控制器中拖线

//4.连线,告诉控制器哪个view描述你的view

//1.创建窗口

self.window= [[UIWindowalloc]initWithFrame:[UIScreenmainScreen].bounds];

//2.设置窗口根控制器

//2.1通过xib创建窗口的根控制器:initWithNibName

//NibName:xib名称

ViewController*vc = [[ViewControlleralloc]initWithNibName:@"VC"bundle:nil];

self.window.rootViewController= vc;

//3.显示窗口

[self.windowmakeKeyAndVisible];

UIWindows补充

6.1>自己创建窗口,窗口显示出来,两个条件。1.makeKeyAndVisible2.窗口不要被释放6.2>keyWindow:makeKeyAndVisible会让窗口成为主窗口,并且显示出来,打印apple

6.3>创建的窗口交给windows这个数组管理: ?

○在创建一个窗口显示出来,一个应用程序只有一个主窗口,并且显示出来的窗口,application管理,application有个Windows数组,存放显示出来的窗口,有一个例外 态栏也是一个窗口,但是没有交给application管理。打印application.windows

6.4>还有那些是窗口?键盘也是窗口,创建一个textField成为第一响应者,并且加到最里

显示在最前面,打印application.windows,就知道了。

6.5>为什么他们会显示在最前面,因为窗口有层级,他们的层级高

6.6

>windowLevel:UIWindowLevelNormal < UIWindowLevelStatusBar

< UIWindowLevelAlert

UIWindowLevelNormal:默认窗口的层级UIWindowLevelStatusBar :状态栏,键盘、UIWindowLevelAlert:UIActionSheet,UIAlearView

6.7>把window的层级设置为UIWindowLevelAlert,就会显示在最前面。

6.8>其实层级的数据类型是CGFloat,所以可以通过加减乘除来改变其层级

例如UIWindowLevelAlert

上一篇下一篇

猜你喜欢

热点阅读