iOS开发tableView自定义cell选择重用解决

为了实现自定义cell按钮选择问题,花了几个小时,在此记录分享一下:

平时iOS开发中,经常遇到自定义cell问题,tableView使用cell时候由于cell是复用的,所以cell中的按钮等控件也会被复用,不能直接在cell中self.方式引用控件来判断对应的控件唯一性,由于tableView刷新或者重用会导致使用混乱问题,cell中使用的控件不是唯一的!!!只有在控制器中进行引用和判断才是唯一的!!!

效果图:


iOS开发tableView自定义cell选择重用解决_第1张图片

如图自定义cell会重用按钮:

iOS开发tableView自定义cell选择重用解决_第2张图片

流程如下:

1.自定义cell布局按钮设置选择状态图片:

iOS开发tableView自定义cell选择重用解决_第3张图片

2.设置cell大小按钮,并设置按钮的点击事件传递tag,通过代理传值给控制器

iOS开发tableView自定义cell选择重用解决_第4张图片

3.第三个数据源方法将indexPath.row的值赋值给cell的按钮的tag

iOS开发tableView自定义cell选择重用解决_第5张图片

4.模型添加属性记录按钮选择状态

iOS开发tableView自定义cell选择重用解决_第6张图片

5.自定义代理方法通过tag找到对应模型,模型选择属性取反

iOS开发tableView自定义cell选择重用解决_第7张图片

6.根据是否为选择的cell设置模型的选择属性

iOS开发tableView自定义cell选择重用解决_第8张图片

7.获取对应数据

iOS开发tableView自定义cell选择重用解决_第9张图片

我已经很尽力把每步都写的够详细,不好之处,还望海涵.☺️

你可能感兴趣的:(iOS开发tableView自定义cell选择重用解决)