为了实现自定义cell按钮选择问题,花了几个小时,在此记录分享一下:
平时iOS开发中,经常遇到自定义cell问题,tableView使用cell时候由于cell是复用的,所以cell中的按钮等控件也会被复用,不能直接在cell中self.方式引用控件来判断对应的控件唯一性,由于tableView刷新或者重用会导致使用混乱问题,cell中使用的控件不是唯一的!!!只有在控制器中进行引用和判断才是唯一的!!!
效果图:
如图自定义cell会重用按钮:
流程如下:
1.自定义cell布局按钮设置选择状态图片:
2.设置cell大小按钮,并设置按钮的点击事件传递tag,通过代理传值给控制器
3.第三个数据源方法将indexPath.row的值赋值给cell的按钮的tag
4.模型添加属性记录按钮选择状态
5.自定义代理方法通过tag找到对应模型,模型选择属性取反
6.根据是否为选择的cell设置模型的选择属性
7.获取对应数据
我已经很尽力把每步都写的够详细,不好之处,还望海涵.☺️