0

我正在为当地的足球俱乐部构建一个应用程序。在屏幕上,我想以一种网格的形式显示所有玩家。当您单击网格内的球员照片时,您将获得有关该球员的更多信息。我正在使用 customTableViewCell。此 tableView 单元格包含 6 个按钮。在每个按钮后面,您可以找到一些玩家信息。我正在像这样在网格中设置玩家图像。首先,我的 custumTableViewCell 中有一个方法。

-(void)setImage:(UIImage *)image forPosition:(NSUInteger)position{
    if(position == 1){
        [_btnPlayer1 setImage:image forState:UIControlStateNormal];
    }else if(position == 2){
        [_btnPlayer2 setImage:image forState:UIControlStateNormal];
    }else if(position == 3){
        [_btnPlayer3 setImage:image forState:UIControlStateNormal];
    }else if(position == 4){
        [_btnPlayer4 setImage:image forState:UIControlStateNormal];
    }else if(position == 5){
        [_btnPlayer5 setImage:image forState:UIControlStateNormal];
    }else if(position == 6){
        [_btnPlayer6 setImage:image forState:UIControlStateNormal];
    }

}

在我的 CellForRowAtIndexPath 中,我正在执行以下操作。

 NSInteger frcRow = indexPath.row * IMAGES_PER_ROW; // row in fetched results controller

    for (int col = 1; col <= IMAGES_PER_ROW; col++) {
        NSIndexPath *path = [NSIndexPath indexPathForRow:frcRow inSection:0];
        Team *team = [self.fetchedResultsController objectAtIndexPath:path];
        NSData *imgData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:team.image]];
        UIImage *image;
        if (imgData == nil) {
            // default image
            image = [UIImage imageWithContentsOfFile:@"keeperNil.jpg"];
        } else {
            image = [UIImage imageWithData:imgData];
        }
        [cell setImage:image forPosition:col];
        frcRow ++;
    }
    return cell;

但现在我想确定按下了哪个按钮,然后转到显示正确信息的 detailViewController。有人知道我该怎么做吗?

亲切的问候。

4

1 回答 1

0

这是实现您想要做的事情的错误方法。找到一个照片查看器,例如 Three20(以 Three20 为例,它很旧,没有 ARC,Git 上有更好的替代品)并根据每张玩家照片的选择切换到新视图。

如果您真的想要(尽管 IMO 的设计似乎很糟糕),您可以连接 6 个按钮并标记它们,然后根据所选按钮标记选择一个播放器,但这似乎并不是 UITableView 的最佳用途

于 2012-10-11T09:16:45.967 回答