您当前的位置: 首页 >  ios

white camel

暂无认证

  • 1浏览

    0关注

    442博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

iOS 一一 根据xib加载window根控制器的View

white camel 发布时间:2017-08-25 16:48:07 ,浏览量:1

一般情况下: Main.storyBoard中拖入的都是控制器

    xib中拖入的都是UIView

加载方式:

1.创建Xib

2.往xib当中拖入一个View.

3.设置Xib的file's owner类型为要设置的那个控制器.

4.把View与file's owner连线. (注意, 只有设置了file's owner类型才能够进行拖线.)

initWithNibName:为要加载的Xib的名称.

MyViewController *vc = [[MyViewController alloc] initWithNibName:@"VC" bundle:nil];

initWithNibName

1.如果没有指定名称.指定为nil,那么它就会去先加载跟它相同名称的Xib.

2.如果没有跟它相同名称的Xib,那么它就会再去加载跟它相同名称去点Controller的名字的Xib.

3.控制器的init方法会调用initWithNibName:方法.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
    //1. 创建窗口
    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    
    //2. 设置窗口的根控制器
    //2.1 通过xib加载控制器的view\
    initWithNibName: 如果指定了特定的名称的xib,会去加载指定的xib\
    如果为nil
    //1.判断有没有当前控制器相同名称的xib,如果有,自动加载跟它相同名称的xib(ZYViewController.xib)
    //2.如果没有跟它相同名称的xib.自动加载跟它相同名称并且是去掉controller(ZYView.xib)
    
//    ZYViewController *vc = [[ZYViewController alloc] initWithNibName:@"One" bundle:nil];
    
//    ZYViewController *vc = [[ZYViewController alloc] initWithNibName:nil bundle:nil];
    
//    GZYViewController *vc = [[GZYViewController alloc] initWithNibName:nil bundle:nil];
    
    // 底层会调用initWithNibName方法
    GZYViewController *vc = [[GZYViewController alloc] init];
    self.window.rootViewController = vc;
    
    //3. 显示窗口
    [self.window makeKeyAndVisible];
    
    return YES;
}

关注
打赏
1661428283
查看更多评论
立即登录/注册

微信扫码登录

0.0414s