在uitableviewcell中对uibutton上的图像问题需要帮助

时间:2010-11-19 04:01:19

标签: iphone objective-c

我正在尝试在每个tableviewcell中创建一个按钮,选中后,“Checked.png”应出现在按钮上。默认为“uncheck.png”。但是,问题是无论选择哪个按钮,图像始终保留在“uncheck.png”中。这让我很生气。请帮帮我。如果有人能提供一些代码片段,我将非常感激。谢谢你

 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

           UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
            if (cell == nil) {

               [[NSBundle mainBundle] loadNibNamed:@"TableCell" owner:self options:NULL];
               cell = nibLoadedCell;
               UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(270.0, 10.0, 60.0, 60.0)];
              [button setImage:[UIImage imageNamed:@"Uncheck.png"] forState:UIControlStateNormal];
              [button setImage:[UIImage imageNamed:@"Checked.png"] forState:UIControlStateSelected];
            [button addTarget:self action:@selector(Selected:) forControlEvents:UIControlEventTouchUpInside];
             button.tag = indexPath.row;
             [cell.contentView addSubview:button];
            }   

2 个答案:

答案 0 :(得分:0)

查看XCode中的TouchCells示例。转到帮助 - >开发者文档和搜索TouchCells。看看XCode中的示例项目

答案 1 :(得分:0)

根据文件

对于许多控件,UIControlStateSelected状态对行为或外观没有影响。

我认为UIButton也一样。

我建议您可以在tableview的didSelectRowAtIndexPath委托中再次将按钮setImage属性设置为Checked.png。您还应该为每个按钮设置一个唯一标记,以标识您必须设置Checked.png的按钮图像。