Cell的accessoryType属性标记单元格之后,出现的重用问题

今天项目里出现一个问题,就是做一个列表选择,然后点击导航栏的确定按钮返回上级界面,并把选择的 cell 数据传递到上级界面。再使用 accessoryType 属性标记单元格之后会出现重用问题。

解决办法

把 tableView 的 allowsMultipleSelection 属性设为了 YES;

在 didSelectRowAtIndexPath 和 didDeselectRowAtIndexPath 方法里面使用了如下方法实现了点击单元格然后用 check mark 标记的方式。

重点来了 两种思路

记录选择的 indexpath

利用 cell 的 selected 属性

继承 UITableViewCell,在 setSeleted:animated:方法里面,根据选择状态,修改 accessoryType

至此已完美解决因为复用所导致的问题

文章来源:

Author:Oragekk's Blog
link:https://oragekk.me/posts/iOS/ui/cell复用-accessoryType解决办法.html