ios表视图之UITableViewCellAccessoryCheckmark单选、多选状态保存

表视图界面跳转,单元格选中状态的保存

多选

在cellForRow中: 

        UITableViewCell *Cell = [tableView cellForRowAtIndexPath:indexPath];

 

Cell.accessoryType = [[NSUserDefault standardUserDefaults]objectForKey:indexPath]?UITableViewCellAccessoryCheckmark:UITableViewCellAccessoryNone; 

 

在didselecte这个方法中 

Cell.accessoryType = UITableViewCellAccessoryCheckmark; 

下面加一句 

[[NSUserDefault standardUserDefaults]setObject:[NSNumber numberWithBool:YES] forKey:indexPath];

 

单选

 

在cellForRow中: 

NSInteger row = [indexPath row];

    

    NSInteger oldRow = [NSUD integerForKey:@"indexPath.row"];

    

    NSLog(@"选中行业%ld",(long)oldRow);

    

    if (row == oldRow) {

        

        cell.accessoryType = UITableViewCellAccessoryCheckmark;

        

    }else{

        

        cell.accessoryType = UITableViewCellAccessoryNone;

        

    }

 

在didselecte这个方法中 

 NSInteger newRow = [indexPath row];

    

    NSInteger oldRow = ([NSUD initWithUser:@"indexPath.row"] !=nil)?[NSUD integerForKey:@"indexPath.row"]:-1;

    

    if (newRow != oldRow) {

        

        UITableViewCell *newCell = [tableView cellForRowAtIndexPath:indexPath];

        

        newCell.accessoryType = UITableViewCellAccessoryCheckmark;

        

        UITableViewCell *oldCell = [tableView cellForRowAtIndexPath:_lastPath];

        

        oldCell.accessoryType = UITableViewCellAccessoryNone;

        

        _lastPath = indexPath;

        

    }

    

    [tableView deselectRowAtIndexPath:indexPath animated:YES];

    

    [NSUD setInteger:_lastPath.row forKey:@"indexPath.row"];

 

转载于:https://www.cnblogs.com/liuxiaokun/p/5530260.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值