对于XIB内部多个view或者多个cell的使用

两部分: 1. 使用xib 创建view  2. 使用xib 创建cell

1. 使用xib 创建view

对于XIB内部多个view或者多个cell的使用_第1张图片

当你只是想使用一个简单的view的时候就拖拽这个进行创建...

对于XIB内部多个view或者多个cell的使用_第2张图片

拖拽好之后创建并关联类:

对于XIB内部多个view或者多个cell的使用_第3张图片

本文重点来了, 当你有多处想使用xib 创建view 使用的时候, 且view中的内容过于复杂, 这时候你就可以在一个xib中, 拖拽创建多个view并使用:

对于XIB内部多个view或者多个cell的使用_第4张图片

创建并进行实例化, 可随意放置在任何位置

UIView *view = [[UINib nibWithNibName:@"View" bundle:nil]instantiateWithOwner:nil options:nil].firstObject;

// UIView *view = [[UINib nibWithNibName:@"View" bundle:nil]instantiateWithOwner:nil options:nil][1]; 或者直接指定元素下标

self.tableView.tableHeaderView = view;

这样就不用创建多次xib了, 注意cell 也可以实例化做view 使用

2. 使用xib 创建cell

对于XIB内部多个view或者多个cell的使用_第5张图片

如果忘记也没关系, 在xib中拖拽创建:

对于XIB内部多个view或者多个cell的使用_第6张图片

创建多个cell并关联类

在代码中的使用(不需要注册, 直接实例化见下面代码,就可以使用了):

if (indexPath.row < 3) {

TableViewCell *cell1 = [[UINib nibWithNibName:@"TableViewCell" bundle:nil] instantiateWithOwner:nil options:nil][0];

return cell1;

}else if (indexPath.row > 3 && indexPath.row < 6) {

TableViewCell *cell2 = [[UINib nibWithNibName:@"TableViewCell" bundle:nil] instantiateWithOwner:nil options:nil][1];

return cell2;

}

TableViewCell *cell3 = [[UINib nibWithNibName:@"TableViewCell" bundle:nil] instantiateWithOwner:nil options:nil][2];

return cell3;

这种方法没有走重用, 是不会重用cell的

小小技巧, 希望对各位有帮助.











你可能感兴趣的:(对于XIB内部多个view或者多个cell的使用)