0

我通过拖放标签和从我的原型单元格到我称之为 QuizInfoCell 的自定义单元格创建了UITableViewCell一个自定义单元格。UITableViewimageView

这对于我在其中创建原型单元的特定工作很好TableView,但我无法QuizInfoCell为任何其他工作TableView.我该如何实现?

这是我在TableView创建原型单元时使用的代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    QuizInfoCell *cell = nil;       
    cell = [tableView dequeueReusableCellWithIdentifier:@"QuizInfoCell" forIndexPath:indexPath];

    if (cell == nil){
        cell = [[QuizInfoCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"QuizInfoCell"];
    }

    cell.name.text = [title objectAtIndex:indexPath.row];
    cell.author.text = [author objectAtIndex:indexPath.row];
    cell.time.text = [[ValueHandler alloc] getDateString:[timeStamp objectAtIndex:indexPath.row]];
    cell.plays.text = [@"Plays: " stringByAppendingString:[NSString stringWithFormat:@"%@", [plays objectAtIndex:indexPath.row ]]];
    cell.ratingUps.text = [NSString stringWithFormat:@"%@", [ratingUps objectAtIndex:indexPath.row]];
    cell.ratingDowns.text = [NSString stringWithFormat:@"%@", [ratingDowns objectAtIndex:indexPath.row]];
    cell.qid.text = [NSString stringWithFormat:@"%@", [qid objectAtIndex:indexPath.row]];


    return cell;
}
4

1 回答 1

0

我建议您创建QuizInfoCell一个新的 XIB 文件。

  • 按 CMD + N
  • 选择User Interface子菜单。
  • 创建一个新的View并调用它QuizInfoCell

在新的 XIB 中删除现有的 View 元素,然后拖放一个新的Table View Cell.

UITableViewCell通过拖放标签和 imageView 以与以前相同的方式重新创建自定义

最后给新的 Cell 一个名为 的标识符QuizInfoCell,如下所示:

在此处输入图像描述

然后,您可以使用代码加载新的自定义 UITableViewCell:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    QuizInfoCell *cell = nil;       
    cell = [tableView dequeueReusableCellWithIdentifier:@"QuizInfoCell" forIndexPath:indexPath];

    if (cell == nil){
        NSArray *nibContents = [[NSBundle mainBundle] loadNibNamed:@"QuizInfoCell" owner:self options:nil];
        cell = [nibContents objectAtIndex:0];
    }

    cell.name.text = [title objectAtIndex:indexPath.row];
    cell.author.text = [author objectAtIndex:indexPath.row];
    cell.time.text = [[ValueHandler alloc] getDateString:[timeStamp objectAtIndex:indexPath.row]];
    cell.plays.text = [@"Plays: " stringByAppendingString:[NSString stringWithFormat:@"%@", [plays objectAtIndex:indexPath.row ]]];
    cell.ratingUps.text = [NSString stringWithFormat:@"%@", [ratingUps objectAtIndex:indexPath.row]];
    cell.ratingDowns.text = [NSString stringWithFormat:@"%@", [ratingDowns objectAtIndex:indexPath.row]];
    cell.qid.text = [NSString stringWithFormat:@"%@", [qid objectAtIndex:indexPath.row]];


    return cell;
}
于 2013-10-30T07:40:23.340 回答