如何从自定义tableviewCell中的按钮开始

时间:2012-10-11 07:56:21

标签: objective-c ios uitableview core-data nsfetchedresultscontroller

我正在为当地一家足球俱乐部建立一个应用程序。在屏幕上我希望以某种网格显示所有玩家。当您单击网格内的玩家照片时,您将获得有关该玩家的更多信息。 我正在使用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。有人知道我该怎么做吗?

亲切的问候。

1 个答案:

答案 0 :(得分:0)

这是实现你想要做的事情的错误方法。找一个像Three20这样的照片浏览器(以Three20为例,它没有ARC而且没有更好的Git选择)并根据每个玩家照片的选择进行新视图。

如果你真的想(虽然看起来像设计不佳的IMO)你可以连接6个按钮并标记它们,然后选择一个基于所选按钮标签的播放器,但这似乎不是最好的用途UITableView的