最近的项目需要用到多选列表,照例自己有了初步想法之后,google了下其他人的实现,发现了两个主要的实现方法:
- 在设置cell的editingStyle为3。不过这个属性是非公开的,所以使用会有被打回的风险;而且使用固定数字返回的话,Api更新有可能导致不可预估的问题;再者无法对选中标记进行定制。请参考:http://www.iphonedevwiki.net/index.php?title=UITableView
- 自己自定义一个UITableViewCell。网上有实例:http://cocoawithlove.com/2009/01/multiple-row-selection-and-editing-in.html
为了安全起见,个人采用了自定义UITableViewCell的方法,但是查看了2.中的代码后,感觉其代码过于复杂,使用一个单独的CellController来对Cell进行管理,内部的函数重复命名,比较难直接移植应用。并且考虑到项目中需要选中和移动两种编辑状态,因此自己重写了一份多选列表的实现。代码见:https://github.com/zjamming/Mult