iOS 使用拖拽,在一个自定义ViewCell中显示多个cell样式

当我们应用TableView的事后避免不了,会应用到多种自定义cell的样式,我们可以通过,创建多个ViewCell通过判断来实现,但是这样太浪费资源。我们要更简单的来实现。

我们要在一个ViewCell中创建多个ViewCell,并且关联到一个类

例如:

1,我们先创建一个类继承tableviewcell,并勾选Xib,这样类里便有了一个视图

2,我们在右下角选择搜索,cell,在拖拽一个,效果图如下,两个ViewCell,左边会多一个cell效果图如下

iOS 使用拖拽,在一个自定义ViewCell中显示多个cell样式iOS 使用拖拽,在一个自定义ViewCell中显示多个cell样式

3,这样我们就会有两个样式,我们要把后拖拽的ViewCell与创建的Xib进行关联。效果图如下

iOS 使用拖拽,在一个自定义ViewCell中显示多个cell样式

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;

    }

}