关于如何让cell一直保持选中?

在M上

1.cell的展示,一直都是依靠数据源的支持。所以,必须要在数据源里面新增bool,默认为false

在V上

2.cell的setModel方法里面,将数据源的新增bool赋值为cell的是否选中

在C上

3.在控制器上,接受cell的点击事件方法里面,也就是

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {}

里面,遍历数据源,将数据源的bool设置复位成false,然后取出数组中indexPath.row的model,将其设置bool设置成true(也可以在遍历中,如果元素下标 = indexPath.row,model.bool = index == indexPath.row。便可)

最后不要忘记reloadData一下

时间: 2024-10-08 03:44:47

关于如何让cell一直保持选中?的相关文章

iOS设置UITableView中Cell被默认选中后怎么触发didselect事件

//默认选中某个cell [self.searchResultTV selectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] animated:YES scrollPosition:UITableViewScrollPositionNone]; //实现该cell的didSelectRowAtIndexPath方法 NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0

tableView里选中一行cell其它不选中的方法

方法1: #pragma mark--选中状态 -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { GASSelectNextTableViewCell *cell = (GASSelectNextTableViewCell *)[tableView cellForRowAtIndexPath:indexPath]; cell.selectedBtn.select

UITableView取消cell选中状态关于deselectRowAtIndexPath

有没有遇到过,导航+UITableView,在push,back回来之后,当前cell仍然是选中的状态. 当然,解决办法简单,添加一句[tableView deselectRowAtIndexPath:indexPath animated:YES]即可. 令人纠结的时,在没加这句的时候,有的视图同样回来之后,选中状态消失,为什么会出现这种情况呢? 原 来是,如果UITableView是在UITableViewController中时,就会默认取消,而如果是在UIViewController时,

cell的选中和取消选中

//数据源协议中有两个方法,在cell被选中或取消时被触发 //didSelect,当你选中某个cell时,就会调用该方法. -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ } //didDeselect,当取消选中cell时,就会调用改方法. -(void)tableView:(UITableView *)tableView didDeselectRowAtI

cell选中后进入重用池出来选中状态消失

开花结果乐园 cell选中后进入重用池出来选中状态消 #import "ClickOnCellMultipleChoiceViewController.h" @interface ClickOnCellMultipleChoiceViewController ()<UITableViewDelegate,UITableViewDataSource> @property (nonatomic , strong) UITableView *tableView; //定义一个数组

UITableView的颜色设置和cell的自动取消选中状态

1.系统默认的颜色设置 //无色 cell.selectionStyle = UITableViewCellSelectionStyleNone; //蓝色 cell.selectionStyle = UITableViewCellSelectionStyleBlue; //灰色 cell.selectionStyle = UITableViewCellSelectionStyleGray; 2.自定义颜色和背景设置  改变UITableViewCell选中时背景色: UIColor *colo

【坑】tableView cell默认选中

在tableView展示的过程时候,如果想一开始就有一些cell默认被选中,不能在cellForRowAtIndexPath中cell.selected=YES, 必须在willDisplayCell中设cell.selected = YES; 相当坑比. 原文地址:https://www.cnblogs.com/yibinpan/p/9106395.html

UItableViewCell选中时的颜色及tableviewCell的select和deselect

今天做项目美工和我说cell点击后再跳回当前页面cell的默认点击状态应该取消,后来在网上查到,其实比较简单,有两种实现方法,代码如下 方法一: 在页面将要出现的时候对tableview执行deselect操作 - (void)viewWillAppear:(BOOL)animated{ [self.tableView deselectRowAtIndexPath:[self.tableView indexPathForSelectedRow] animated:YES]; } 看上面的英文也应

UITableViewCell的选中时的颜色及tableViewCell的selecte与deselecte

    1.系统默认的颜色设置 [cpp] viewplaincopy //无色 cell.selectionStyle = UITableViewCellSelectionStyleNone; //蓝色 cell.selectionStyle = UITableViewCellSelectionStyleBlue; //灰色 cell.selectionStyle = UITableViewCellSelectionStyleGray; 2.自定义颜色和背景设置 改变UITableViewCe