什么时候才需要使用storyboard,xib,当控制器的view界面是固定死的时候,就考虑用storyboard,xib解决.
     目的:让xib描述控制器view
   
     通过xib创建控制器的步骤
     1.创建xib文件
     2.xib需要有一个view描述控制器的View
     3.设置xib用来描述哪个控制器(文件拥有者),就可以连线(告诉控制器是哪个view描述他的view)
 
 1.创建窗口
    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
   
     2.设置窗口的根控制器
     Name:xib名称
    XMGViewController *vc = [[XMGViewController alloc] initWithNibName:@"VC" bundle:nil];
    self.window.rootViewController = vc;
   
     3.显示窗口
    [self.window makeKeyAndVisible];
 
xib创建控制器特性
 开发中,尽量保证xib的名称跟类名同名
// 创建窗口
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; // 设置窗口根控制器
XMGViewController *vc = [[XMGViewController alloc] init];
// init底层会调用initWithNibName
// initWithNibName底层做事情
// 1.判断下有没有指定nibName,如果有,就去加载指定的xib
// 2.判断有没有跟控制器类名同名的xib,如果有,就去加载xib
// 3.判断有没有跟控制器类名同名但是不带Controller的xib,如果有,就去加载xib
// 4.创建空的view
self.window.rootViewController = vc; // 显示窗口
[self.window makeKeyAndVisible];
报错:
reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "THViewController" nib but the view outlet was not set.'
 
xib的view没有连线
 

通过xib创建控制器的更多相关文章

  1. iOS开发——UI进阶篇(八)pickerView简单使用,通过storyboard加载控制器,注册界面,通过xib创建控制器,控制器的view创建,导航控制器的基本使用

    一.pickerView简单使用 1.UIPickerViewDataSource 这两个方法必须实现 // 返回有多少列 - (NSInteger)numberOfComponentsInPicke ...

  2. 创建控制器的方法、控制器加载view过程、控制器view的生命周期、多控制器组合

    在介绍四大对象的那篇博客中,可以基本了解到程序启动的过程: main-->UIApplicationMain-->创建UIApplication的实例和app代理AppDelegate的实 ...

  3. 控制器与xib关联(用xib布局控制器)

    IOS Xib使用——为控制器添加Xib文件 Xib文件是一个轻量级的用来描述局部界面的文件,它与StoryBoard类似,都是使用Interface Bulider工具进行编辑.但是StoryBoa ...

  4. 创建控制器的3种方式、深入了解view的创建和加载顺序

    转载自:http://blog.csdn.net/weisubao/article/details/41012243 (1)创建控制器的3种方式 - (BOOL)application:(UIAppl ...

  5. 创建控制器view的几种方式

    1. 根据storyboard的描述创建 2. 通过xib的描述创建 3. 通过代码创建控制器的view self.window = [[UIWindow alloc] initWithFrame:[ ...

  6. 使用xib创建cell时 bug

    UITableView (<UITableView: 0x15799a800; frame = (0 4797; 375 733); clipsToBounds = YES; tag = 305 ...

  7. 根据字符串生成类---类的类型.self---根据字符串创建控制器对象

    swift和OC一样,都是通过NSClassFromString,根据一个字符串,生成相应的类. // UITabBarButton是系统的私有类,不能直接使用 // if btn.isKind(of ...

  8. UI进阶之--网易彩票手写plist文件,动态创建控制器与tableViewcell

    点击右上角设置按钮 点击按钮后发生的事件:1. 控制器的跳转,进入新的控制器.view, 2. 跳转的时候对将要跳转的目标控制的子控件进行了布局.---通过手写plist文件的方式加载 为按钮注册单击 ...

  9. ASP.NET MVC 创建控制器类过程

    MvcHandler.ProcessRequestInit()方法: 1.1获取控制器的名称string requiredString = this.RequestContext.RouteData. ...

随机推荐

  1. eclipse ctrl链接设置

    选择[Window]菜单 Preferences ——>General——>Editors——>Text Editors——>Hyperlinking

  2. poj 2516 (费用流)

    题意:有N个供应商,M个店主,K种物品.每个供应商对每种物品的的供应量已知,每个店主对每种物品的需求量的已知,从不同的供应商运送不同的货物到不同的店主手上需要不同的花费,又已知从供应商m送第k种货物的 ...

  3. 自己动手写处理器之第四阶段(1)——第一条指令ori的实现

    将陆续上传本人写的新书<自己动手写处理器>(尚未出版),今天是第11篇,我尽量每周四篇 第4章 第一条指令ori的实现 前面几章介绍了非常多预备知识,也描绘了即将要实现的OpenMIPS处 ...

  4. RCTF Welpwn

    Welpwn 很久以前的了,现在整理一下 题目的漏洞很明显,就是一个栈溢出.程序打开了NX,却没有给libc.重点是,在向栈上拷贝数据时,如果输入中含有'\x00',会被截断,对利用漏洞造成了困难.虽 ...

  5. Devexpress之barManager控件属性

    隐藏菜单栏左边的竖线和右边的箭头? 1.隐藏菜单栏上右边的箭头属性设置:OptionsBar=>>AllowQuickCustomization=False 2.隐藏菜单栏左边的竖线属性设 ...

  6. UIButton, KVC, KVO

    按钮 自定义按钮:调整内部子控件的frame 方式1:实现titleRectForContentRect:和imageRectForContentRect:方法,分别返回titleLabel和imag ...

  7. hdu1867A + B for you again

    Problem Description Generally speaking, there are a lot of problems about strings processing. Now yo ...

  8. C++中的面向对象笔记

    公共继承,相当于属于关系.如CLASS B:public A,表示B就是A,A做到的,B也能做到. CLASS A {}; CLASS B:public A {}; A a; B b; a=b;//错 ...

  9. Java log4j的环境搭建

    一.Log4j是什么? Log4j是Apache的一个开源代码项目,通过使用Log4j,我们可以控制日志信息输出的目的地.最常见的就是输出到控制台或者日志文件.同时,它强大的一点是可以在C.C++等其 ...

  10. canvas 绘制五角星

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...