所以这是一种方法。在单元格的左边缘放置一个 UIImageView。不要将图像设置为空白作为开始。
然后,假设您正在为该 UITableViewCell 制作一个自定义单元格和一个类,请执行以下操作:
import UIKit
class MyCustoTableViewCell: UITableViewCell {
@IBOutlet weak var commandOption: UILabel!
@IBOutlet weak var checkMarkImage: UIImageView!
// Sets a left side checkmark on a cell when selected
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
self.checkMarkImage.image = selected ? UIImage(named: "BlueCheck") : .None
self.commandOption.font = selected ? UIFont(name: "Avenir-Heavy", size: 22) : UIFont(name: "Avenir-Book", size: 22)
// more check mark on the right side
// self.accessoryType = selected ? .Checkmark : .None
}
}
注意底部注释掉的是如果你想要右边的复选标记。当用户点击表格单元格时,会触发 super.setSelectedted 方法。确保你也实现了这个:
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
// do any changes needed here or leave blank if just adding check
}
}
最后,确保您的 Assets 文件夹中有 @2x 和 @3x 选中标记 PNG 资产。请注意,在此示例中,它们被称为“BlueCheck”,但使用您的复选标记资产的名称。
这种方法可确保当用户选择新行时,当前单元格上的复选标记会消失。
在这种情况下,我将图像视图右侧的文本加粗,以进一步表明它是选定的行。