Как создать один TableVIew с несколькими пользовательскими ячейками - PullRequest
0 голосов
/ 22 ноября 2011

У меня есть табличное представление, в котором я хочу иметь 3 разные пользовательские ячейки, сейчас у этого кода есть только одна.

Как я могу изменить свой код, чтобы у вариантов 2 и 9 были свои собственныеячейки таблицы со своими собственными идентификаторами ячеек?Имейте в виду, что этот код находится внутри оператора if / else, потому что в моем VC есть 2 разных табличных представления.

static NSString *CellIdentifier = nil;

    if (tableView == self.mytableview)
    {
    }
    else if (tableView == self.vitalsTableView)
    {
            CellIdentifier = @"textCell";
            VitalsTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
            switch (indexPath.row) {
                case 0:
                    cell.vitalsLabel.text = @"Temperature";
                    break;
                case 1:
                    cell.vitalsLabel.text = @"Pulse";
                    break;
                case 2:
                    cell.vitalsLabel.text = @"Blood Pressure";
                    break;
                case 3:
                    cell.vitalsLabel.text = @"Respiratory Rate";
                    break;
                case 9:
                    cell.vitalsLabel.text = @"Smoking Status";
                    break;
                default:
                    break;
            }
            return cell;
    }

Ответы [ 2 ]

1 голос
/ 22 ноября 2011

Это было бы что-то вроде того, что у вас уже есть, но с незначительной модификацией класса, который вы модифицируете, и идентификаторов, я надеюсь, что я получил то, о чем вы спрашивали.

static NSString *CellIdentifier = nil;

if (tableView == self.mytableview)
{
}
else if (tableView == self.vitalsTableView)
{
    if ([indexPath row] == 2 || [indexPath row] == 9) {
        CellIdentifier = @"Cell2Or9";
        Cell2or9 *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        switch (indexPath.row) {
            case 2:
                cell.vitalsLabel.text = @"Blood Pressure";
                break;
            case 9:
                cell.vitalsLabel.text = @"Smoking Status";
                break;
            default:
                break;
        }
    }
    else{
        CellIdentifier = @"CellNot2Or9";
        CellNot2or9 *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        switch (indexPath.row) {
            case 0:
                cell.vitalsLabel.text = @"Temperature";
                break;
            case 1:
                cell.vitalsLabel.text = @"Pulse";
                break;
            case 3:
                cell.vitalsLabel.text = @"Respiratory Rate";
                break;
            default:
                break;
        }
    }
0 голосов
/ 08 ноября 2013
static NSString *cellIdentifier;

     NSString *membershipType = [membershipTypeArray objectAtIndex:indexPath.row];

     if ([membershipType isEqualToString:@"silver"]||[membershipType isEqualToString:@"gold"])
     {
         cellIdentifier = @"cell";
     }
     else if ([membershipType isEqualToString:@"platinum"])
     {
         cellIdentifier = @"premiumCustomCell";
         cell.customCellImageView.image = [cellImageArray objectAtIndex:indexPath.row];
     }

     cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];

     if (!cell) {
         cell = [[CustomCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
     }
     cell.selectionStyle = UITableViewCellSelectionStyleNone;
cell.headingLabel.text = [titleArray objectAtIndex:indexPath.row];  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...