UIViewController与xib文件是如何关联的
来源:互联网 发布:d3.js圆形动态加载 编辑:程序博客网 时间:2024/04/30 23:19
http://blog.csdn.net/devday/article/details/6736458
用xcode模板向工程加入UIViewController sub class的时候,如果选中了with xib for interface,那么就会向工作加入三个文件(.h .m .xib), 这样生成的三个文件除后缀名后都是一样的名字。
现在如果我们需要用这个刚加入的自定义UIVewController,可以如下方式定义:
CustomViewController* customViewController = [[CustomViewController alloc] initWithNibName:nil bundle:nil];你可以看现第一个传数是nil, 对没错,传nil也是可以的。因为如果系统发现是nil的话,会在工程的bundle里找与CustomViewController同名的xib文件,因为模版生成的正好名字相同,所以能够正确加载xib文件。
第二种方法:
CustomViewController* customViewController = [[CustomViewController alloc] init];
在这儿我们只是简单的初始化,也能正确加载相应的xib文件,因为他们名字是相同的。
如果xib的名了与类的名字不同呢?
如果不同那么我们就不能用上面的两种方法,必须显示指明xib的名字,如:
CustomViewController* customViewController = [[CustomViewController alloc] initWithNibName:"firstView" bundle:nil]
在这儿我们显示指明是firstView.xib这个文件。
网上有人说,自定义UITableViewController与自定义UIViewController不一样,即使.h .m .xib文件名一样(除后缀名),也必须显示指明xib的名字。 参看:http://www.outofcore.com/2011/07/ios-development-proper-use-of-initwithnibnamebundle-affects-uitableviewcontroller/
我在xcode4 SDK 4.3上测试了,结果是一样的,也可以不用指明, 我的测试是直接将自定义的controller赋值给windows.rootViewController,如:
testTableView *tableView = [[[testTableView alloc] initWithNibName:nil bundle:nil] autorelease];self.window.rootViewController = tableView;
不知道是否我测试不够准确,知道的大侠麻烦告诉一下。
0 0
- UIViewController与xib文件是如何关联的
- 自定义UIViewController与xib文件关系深入分析
- 自定义UIViewController与xib文件关系深入分析
- 自定义UIViewController与xib文件关系深入分析
- 自定义UIViewController与xib文件关系深入分析
- 自定义UIViewController与xib文件关系深入分析
- 自定义UIViewController与xib文件关系深入分析
- 如何将xib与一个控制器关联
- iOS AutoLayout: 关联 Xib 和 UIViewController
- UIViewController关联两个xib(Iphone5下使用xib)
- xib文件关联问题
- 如何关联一个xib文件和一个类
- xcode 4.5 中XIB文件中IBOutlet如何关联控件
- 1个viewController怎么关联2个XIB,一个是iphone的XIB,一个是ipad的xib
- iOS 添加Xib文件,并与控制器view controller关联
- xib的关联问题
- xib关联不到文件里
- storyboard和xib的区别以及如何加载xib文件
- ajax发送请求,解决缓存问题
- 第三周项目5(5)-数组作数据成员
- netbeans双窗口显示编辑不同文件
- LeetCode Next Permutation
- springmvc 批量下载,
- UIViewController与xib文件是如何关联的
- 在驱动中增加异步通知的例子
- 每个程序员需掌握的20个代码命名小贴士
- freeSwitch安装步骤 for CentOS
- RTMP规范简单分析
- 理解迭代法和优化基础
- 【Tech-Android-Jni】Jni中基本方法(2)
- 【Java学习】泛型的安全性与可读性
- android cmd adb命令安装和删除apk应用