是否可以更改 UITableViewCell 的多行选择的编辑控件图像。如果可以通过 UITableViewCell 的任何默认功能或者我们必须自己自定义它,如果可以的话,任何人都可以给我任何参考来做到这一点。
提前致谢。
是否可以更改 UITableViewCell 的多行选择的编辑控件图像。如果可以通过 UITableViewCell 的任何默认功能或者我们必须自己自定义它,如果可以的话,任何人都可以给我任何参考来做到这一点。
提前致谢。
OP 实际上是想更改编辑控件。这是当您将其更改为编辑模式时出现在单元格左侧的加号或减号。您实际上无法更改图像,但您可以做的是假更改图像,以下是步骤:
现在,当表格进入编辑模式并且单元格将内容向右移动时,您将看到添加到背景视图中的图像。这样做的副作用是当您触摸新图像时它不会收到触摸。对于我的情况,我将 tableView.allowSelectionDuringEditing 设置为 YES 并在我的表视图控制器中处理 tableView:didSelectRowAtIndexPath: 中的选择。
UITableViewCell 的 accessoryType 属性有一个可能的值 UITableViewCellAccessoryCheckmark ,它将在单元格的右侧显示一个复选标记,用于注意选中/取消选中状态。
其他选项是 UITableViewCellAccessoryDisclosureIndicator,它是一个指向右侧的 V 形,以及 UITableViewCellAccessoryDetailDisclosureButton,它使蓝色的小按钮就像电话应用程序的最近通话记录中一样。
所以在设置好你的手机之后,
cell.textLabel.text = @"Selected";
cell.accessoryType = UITableViewCellAccessoryCheckmark;
return cell;
覆盖自定义单元格 setEditing 应该可以工作。为我工作。但是我仍然无法弄清楚,为什么在重新排序时它会回到默认图像。
欢迎大家提出意见 :)
private var myEditImage = UIImage(named: "some-image")
override func setEditing(_ editing: Bool, animated: Bool) {
super.setEditing(editing, animated: animated)
for subViewA in self.subviews {
if subViewA.classForCoder.description() == "UITableViewCellEditControl" {
if let subViewB = subViewA.subviews.last {
if subViewB.isKind(of: UIImageView.classForCoder()) {
let imageView = subViewB as! UIImageView;
imageView.contentMode = .scaleAspectFit
imageView.image = self.myEditImage;
}
}
}
}
}