通过xib文件创建子控件(转)
2011-05-18 14:29
211 查看
有些情况下需要动态增加一些子控件。
如果用代码直接构建子控件,就是比较麻烦。尽量少写代码。
所以想到的是用xib文件来实现UIView。
问题是UIView不能直接从xib文件构造。
可以通过写UIViewController来加载xib。但是缺点是会得到很多小的UIVIewController实例,而实际上我们又不怎么需要。
xib/nib文件可以通过NSBundle装载。得到的是一个NSArray。在xib编辑器里看到的除了File's Owner,
First
Responder以外的东西都在这个数组里面。通过这个东西我们可以手动装载一个UIView进来,并且,在装载的时候进行xib内容到File's
Owner绑定。
通过以下步骤可以完成
1,创建一个UIViewController
2,定义你想要的事件和属性,并且指定成IBOutlet和IBAction
3,再创建一个xib文件
4,进入这个新的xib文件,编辑File's Owner,将他的类型设置成我们创建的UIViewController
5,从这时候开始UIViewController就对应了两个xib文件了,这样我们可以通过编辑器来绑定内容。
6,随便加一些按钮,绑定些内容
7,在viewDidLoad方法里加入载入子控件的代码
- (void)viewDidLoad { [super viewDidLoad]; NSArray* nibViews = [[NSBundle mainBundle] loadNibNamed:@"sub" owner:self options:nil]; UIView *subView = [nibViews objectAtIndex:0]; [self.view addSubview:subView]; }
8,执行,你会看到子控件被载入到了UIViewController的View里了。并且,在编辑器里绑定的内容都是有效的。成功动态增加了UIViewController的内容。
转http://blog.csdn.net/slavik/archive/2010/12/24/6096944.aspx
如果用代码直接构建子控件,就是比较麻烦。尽量少写代码。
所以想到的是用xib文件来实现UIView。
问题是UIView不能直接从xib文件构造。
xib/nib文件可以通过NSBundle装载。得到的是一个NSArray。在xib编辑器里看到的除了File's Owner,
First
Responder以外的东西都在这个数组里面。通过这个东西我们可以手动装载一个UIView进来,并且,在装载的时候进行xib内容到File's
Owner绑定。
通过以下步骤可以完成
1,创建一个UIViewController
2,定义你想要的事件和属性,并且指定成IBOutlet和IBAction
3,再创建一个xib文件
4,进入这个新的xib文件,编辑File's Owner,将他的类型设置成我们创建的UIViewController
5,从这时候开始UIViewController就对应了两个xib文件了,这样我们可以通过编辑器来绑定内容。
6,随便加一些按钮,绑定些内容
7,在viewDidLoad方法里加入载入子控件的代码
- (void)viewDidLoad { [super viewDidLoad]; NSArray* nibViews = [[NSBundle mainBundle] loadNibNamed:@"sub" owner:self options:nil]; UIView *subView = [nibViews objectAtIndex:0]; [self.view addSubview:subView]; }
- (void)viewDidLoad { [super viewDidLoad]; NSArray* nibViews = [[NSBundle mainBundle] loadNibNamed:@"sub" owner:self options:nil]; UIView *subView = [nibViews objectAtIndex:0]; [self.view addSubview:subView]; }
8,执行,你会看到子控件被载入到了UIViewController的View里了。并且,在编辑器里绑定的内容都是有效的。成功动态增加了UIViewController的内容。
转http://blog.csdn.net/slavik/archive/2010/12/24/6096944.aspx
相关文章推荐
- ios学习--通过xib文件创建子控件 .
- ios学习--通过xib文件创建子控件 .
- 直接使用XIB/NIB文件,读取信息创建 UIView [通过Nib文件进行反序列化,得到对象]
- 通过xib文件创建和连接UIView
- 通过xib文件创建子控件
- init方法只有通过代码创建控件的时候才会调用 用加载xib视图的时候 不会调用
- iOS使用xib文件创建一个组件为子控件,进行复用
- iOS使用xib文件创建一个组件为子控件,进行复用
- 纯代码的方式 通过storyboard文件创建 xib的方式创建
- 论--如何通过代码解析plist文件创建对应的控制器,以及控制器中的控件
- node 通过指令创建一个package.json文件及npm安装package.json
- 文件的创建写入读取 日期控件的使用
- spring通过xml文件创建对象的三种方式
- iPhone开发中关于Xib文件创建UITableViewCell方法
- SilverLight学习笔记--如何在xaml文件中操作用户在后台代码定义的类(2)--示例篇:创建一个登录控件(原创)(转载本文请注明出处)
- 通过bak文件创建/还原数据库
- 通过File类在计算机上创建制定的文件
- 利用Hibernate工具,通过xml文件自动创建表
- 通过创建 ControlTemplate 自定义现有控件的外观
- 通过tomact服务器配置文件创建链接池