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的内容。
xib文件的创建和添加控件创建一个xib文件
这里写图片描述
xib中拖入一个tableViewCell 在将需要添加的控件拖入到cell中
这里写图片描述
创建一个继承于UITableViewCell的类,该类用来管理Xib cell中的控件 并且在.m文件中添加以下代码 用来和Xib cell中的空间进行托线
将xib的class改为我们创建的类
这里写图片描述
2.将xib cell 中的控件和我们创建的类进行连线
创建一个模型类用来 显示cell中的内容
在我们创建的类中 设置模型属性,并且重写setter方法,将模型属性加载到cell上
@property(nonatomic,strong)LRQQFriendMessage *qfm
- (void)setQfm:(LRQQFriendMessage *)qfm
实现类方法 创建我们的cell
+ (instancetype)qqFriendMessageCellWithTableView:(UITableView *)tableView
{
NSString *ID = @"QQFriendMessage"
LRQQFriendMessageCell *cell = [tableView dequeueReusableCellWithIdentifier:ID]
if (cell == nil) {
cell = [[[NSBundle mainBundle] loadNibNamed:@"LRQQFriendMessageCell" owner:nil options:nil] lastObject]
//这里需要注意的是为什么是lastObject 应为该Xib中只有一个元素
}
return cell
}
在控制器实现tableView的数据源方法,加载我们设置的cell就ok了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)