iOS:添加复选标记以选择tableview中的特定行

时间:2014-10-06 06:20:58

标签: ios objective-c uitableview

我正在对联系人列表数据进行项目,因此我将获取数据并将其放在表格视图中,我需要连续选择特定的联系人,并且选中后选中该复选标记,并在删除后选中复选标记再次取消选择联系人。

I have searched different sites but cannot able to find the exact answer please help.

2 个答案:

答案 0 :(得分:2)

试试这个,

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath   *)indexPath
{
 [tableView cellForRowAtIndexPath:indexPath].accessoryType = UITableViewCellAccessoryCheckmark;
}

-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath 
{
[tableView cellForRowAtIndexPath:indexPath].accessoryType = UITableViewCellAccessoryNone;
}

答案 1 :(得分:0)

有一个非常简单的解决方案。 UITableView自行管理行的选择。它还支持多种选择。只需指定您的单元格在选定状态下的外观。

创建UITableViewCell子类作为下面的代码,并在UITableView中使用它。无需覆盖didSelectRowAtIndexPath等。

@interface CheckCell : UITableViewCell
@end

@implementation CheckCell
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        self.selectionStyle = UITableViewCellSelectionStyleNone;
    }
    return self;
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
    [super setSelected:selected animated:animated];
    if (self.isSelected)
       self.accessoryType = UITableViewCellAccessoryCheckmark;
    else
       self.accessoryType = UITableViewCellAccessoryNone;
}
@end