当我们应用TableView的事后避免不了,会应用到多种自定义cell的样式,我们可以通过,创建多个ViewCell通过判断来实现,但是这样太浪费资源。我们要更简单的来实现。
我们要在一个ViewCell中创建多个ViewCell,并且关联到一个类
例如:
1,我们先创建一个类继承tableviewcell,并勾选Xib,这样类里便有了一个视图
2,我们在右下角选择搜索,cell,在拖拽一个,效果图如下,两个ViewCell,左边会多一个cell效果图如下
3,这样我们就会有两个样式,我们要把后拖拽的ViewCell与创建的Xib进行关联。效果图如下
4,接下来,我们要做的就是正常的使用,cell的注册等,
5,接下来就是最重要的我们要在控制器中,tableview的协议方法
-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
写入下面的代码
if (indexPath.row==0) {
cell = [[NSBundle mainBundle]loadNibNamed:@"OrderDetailCell" owner:nil options:nil][0];
}else if (indexPath.row==1){
cell = [[NSBundle mainBundle]loadNibNamed:@"OrderDetailCell" owner:nil options:nil][1];
}
应为cell的样式是一个数组,这样通过indexPath.row获取显示那一个样式,下标为0现实第一个cell样式,下标为1现实第二个cell样式,相应的返回的高度也是同样的原理,
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
if (indexPath.row==0) {
return 372;
}else if (indexPath.row==1){
return 44;
}
}