美文网首页iOS开发iOS学习笔记iOS 开发
通过storyboard和xib创建控制器

通过storyboard和xib创建控制器

作者: Tang_shuya | 来源:发表于2016-03-02 15:44 被阅读265次

    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

    相关文章

      网友评论

        本文标题:通过storyboard和xib创建控制器

        本文链接:https://www.haomeiwen.com/subject/iiynkttx.html