iOS如何利用UITableView实现单选效果

本文介绍了一种在iOS应用中实现单选功能的方法。通过利用UITableView的多选模式,并通过编程方式控制选中状态,实现了类似单选按钮的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

众所周知,iOS没有单选的控件,那么我们如何在ios上实现单选的效果呢?通过查资料我发现,可以通过改装下UITableView的多选,从而实现单选。

首先将UITableView设为多选模式

  _tableView.allowsMultipleSelectionDuringEditing = YES;
    [_tableView setEditing:YES animated:YES];

 那么如何实现单选呢,当然就是在用户选中某一行的时候,把他上一行选中的效果删掉就可以啦!具体要在下面的回调函数中增加如下代码。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    // 取消前一个选中的,就是单选啦   
   //_index设为全局变量出初始化为-1,
    NSIndexPath *lastIndex = [NSIndexPath indexPathForRow:_index inSection:0];
    UITableViewCell *lastCell = [tableView cellForRowAtIndexPath:lastIndex];
    lastCell.accessoryType = UITableViewCellAccessoryNone;
    
    // 选中操作
    UITableViewCell *cell = [tableView  cellForRowAtIndexPath:indexPath];
    cell.accessoryType = UITableViewCellAccessoryCheckmark;
//    
//    // 保存选中的行
    _index = indexPath.row;
    //afterDelay为延迟多少删除上次的选中效果
    [_tableView performSelector:@selector(deselectRowAtIndexPath:animated:) withObject:lastIndex afterDelay:.0];
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一步一台阶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值