【问题标题】:UITableViewCellSelectionStyleNone whilst still showing checkmark in edit modeUITableViewCellSelectionStyleNone 在编辑模式下仍然显示复选标记
【发布时间】:2012-08-03 02:25:54
【问题描述】:

在编辑模式下,我在分组表格单元格上设置单元格背景颜色时遇到问题。似乎选中标记显示必须设置选择样式,唯一的选项是 UITableViewCellSelectionStyleBlue 或 UITableViewCellSelectionStyleGray。 我所追求的是选中复选标记,并且在选中时单元格保持白色。

你会认为 UITableViewCellSelectionStyleNone 会有这种行为,但这会停止显示的复选标记。

我尝试使用 setSelectedBackgroundView。如果单元格样式未分组但圆角不被绘制,这将起作用。

上面单元格的属性是

    cell.selectionStyle = UITableViewCellSelectionStyleGray;
    cell.backgroundView = [self tableViewCellRowBackground];

tableViewCellRowBackground 是一个橙色背景的 UIView。 editMode 是 iOS 内置的表格编辑模式,在表格上设置了以下属性

    self.tblFiles.allowsSelectionDuringEditing=YES;
    self.tblFiles.allowsMultipleSelectionDuringEditing = YES;

有什么想法吗?

【问题讨论】:

  • 你能展示你的 cellForRowatIndexPath 代码吗?
  • @iPhoneDeveloper 我添加了一些小的sn-ps代码。
  • 你在哪里给出了 UITableViewCellSelectionStyleNone??
  • 那是一开始的例子。这取代了 cell.selectionStyle = UITableViewCellSelectionStyleGray;它在行方法的单元格中。

标签: iphone ios uitableview


【解决方案1】:
cell.backgroundView = [self tableViewCellRowBackground];

此方法正在为您选择的单元格设置图像。您应该检查这个以使选择样式图像为零。

【讨论】:

  • 我尝试将其设置为 nil,但随后根本没有背景(甚至没有白色单元格背景)。
  • 显示你在这个方法中使用的代码:(UIView*)tableViewCellRowBackground;
  • 我认为我应该使用它并将选择样式设置为托盘/蓝色?
【解决方案2】:

最后我不得不通过覆盖 drawrect 方法来创建自己的自定义单元格。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多