So erhalten Sie eine einzelne TableVIew mit mehreren benutzerdefinierten Zellen

  • Ich habe eine Tabellensicht, in der ich drei verschiedene benutzerdefinierte Zellen haben möchte. Dieser Code hat jetzt nur eine.

    Wie kann ich meine Code, so dass Fall 2 und Fall 9 beide ihre eigenen benutzerdefinierten Tabellenzellen mit ihren eigenen Zellbezeichnern haben? Denken Sie daran, dass dieser Code in einer if / else-Anweisung enthalten ist, da ich zwei verschiedene Tableviews in meinem VC habe.

     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;
        }
     
    22 November 2011
2 answers
  • Es wäre so, wie Sie es bereits getan haben, aber mit einer geringfügigen Modifikation der Klasse, die Sie ändern, und der Bezeichner hoffe ich, dass ich das bekommen habe, was Sie gefragt haben 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; } }

    22 November 2011
    El Developersmilechaser
  •  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];  
     
    08 November 2013
    Ashish Pisey