在TableViewCells之间切换,设置accessoryView和Data

时间:2014-08-27 09:21:31

标签: ios objective-c uitableview

我正在构建一个社交应用程序,您可以在其中发送消息 - 它不是聊天应用程序,只发送对象(我正在学习编码)。我想从我的tableView中只选择一个朋友并将消息发送给他。我还想在一个单元格上添加我的cell.accessoryView,即所选单元格。当我点击另一行时,取消选择最后一个单元accessoryView。同时禁用一行上的多个触摸=如果我选择一个朋友,如何取消选择他的唯一方法是选择另一个单元格。我还创建了一个字符串,我想只从所选单元格中添加cell.textLabel.text,如果我选择另一个单元格,旧信息将被删除并添加新信息。我尝试了很多东西,但没有任何作用,我没有找到任何教程或答案:(。有没有人有想法,怎么做?非常感谢你的答案:

这是我试过的lat代码,它可以工作,但如果我切换超过2次它会被破坏

 

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; //checkmark is my image for custom checkmark if (cell.accessoryView == checkmark) { cell.accessoryView = nil; } else { cell.accessoryView = checkmark; }

}

1 个答案:

答案 0 :(得分:0)

在tableview类中添加此方法

 -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

    UITableViewCell * currentCell = [tableView cellForRowAtIndexPath:indexPath];
    UITableViewCell * oldCell = [tableView cellForRowAtIndexPath: oldIndexPath];

    oldCell.accessoryView = nil;
    currentCell.accessoryView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"checkMark"]];


    oldIndexPath = indexPath; //  instance Variable NSIndexPath * oldIndexPath;
}