UITableView"批量选择"未在选择圈中显示选中的选中标记,显示右侧选中标记不在左侧

Ada*_*ack 7 uitableview ios swift

我试图在iOS8 Swift应用程序上重现此行为(请参阅下面的屏幕截图,"mail multiple select to delete"行为).设置为"编辑"时,会显示左侧选择圈,但在选择时,它们不会更改为蓝色复选标记.(没有任何可见的事情发生,或者它发生在正确的...屏幕外.)

从各种谷歌搜索中我尝试将accessoryType设置为复选框,但是它出现在右侧(而不是左侧).[这是一个老建议,是否还要添加一个复选标记?

我已经搜索过这个样本(甚至下载并运行它并将其调整到我的代码附近,并且它可以工作)但是我看不到它和我的应用程序之间的差异.

一些数据点:

  • Xcode 7
  • iOS8 +(8和9测试)
  • Swift 2.0
  • tableview等的故事板配置
  • 自定义布局单元格 他们使用内容视图查看某些文本,外面没有任何内容.自动布局.
  • 不编辑时单选(或者我相信)
  • 编辑时多重选择(以获得此效果.)
  • 对于大多数(不是所有)单元格,DataSource返回canEdit"true".圈子仅显示在那些可编辑的匹配期望旁边.
  • Delegate没有返回任何"编辑样式"值.(试过w /&w/o.)
  • 委托不会在"didSelect"处理程序中取消选择.
  • 当我尝试将accesoryType设置为didSelect中的Checkmark(许多帖子建议,但我在样本中没有看到它)时,它出现在右侧而不是左侧.

其他StackOverflow问题/答案意味着某些事情导致UITableView无法知道左侧的复选标记不是右侧.我可以相信,但我找不到它.任何帮助赞赏.

期望的效果(来自样本截图):

https://developer.apple.com/library/ios/samplecode/TableMultiSelect/Introduction/Intro.html

样本中的蓝色复选框选择

表设置

故事板中的表设置

表格单元格设置

故事板中的表单元格设置

小智 15

如果您有selectionStyle = .NonecellForRowAtIndexPath,请将其删除.

我和你在同一条船上(使用Xcode 7,iOS9,Swift 2.0).我在网上找到的大部分文章都是关于右侧的复选标记,我的故事板看起来很完美.我唯一的问题是,当我点击该行时,我无法在左侧显示复选标记.

通过您的帖子,我能够比较源代码并弄明白 - 谢谢!