如何分配自定义图像,以及如何选择和取消选择.checkmark
tableView附件?
是否可以将此自定义附件也放置在tableView行的左侧,并且在tableView中始终可见?
在首次加载tableView时,仍会显示该附件,而该附件实际上与Apple Reminders应用程序类似,已取消选择。
以下是我正在寻找的示例:
取消选中:
已选择:
当前,这就是我所拥有的:
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.cellForRow(at: indexPath)?.accessoryType = .checkmark
}
override func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
tableView.cellForRow(at: indexPath)?.accessoryType = .none
}
答案 0 :(得分:0)
这是示例代码。您需要为我的案例创建自己的附件视图,我只是在自定义视图中添加了一个圆圈,之后您只需要使隐藏的内容为真或假即可。
extension ViewController: UITableViewDataSource, UITableViewDelegate {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 10
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
cell.accessoryView = CheckMarkView.init()
cell.accessoryView?.isHidden = true
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
//tableView.cellForRow(at: indexPath)?.accessoryType = .checkmark
tableView.cellForRow(at: indexPath)?.accessoryView?.isHidden = false
}
func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
tableView.cellForRow(at: indexPath)?.accessoryView?.isHidden = true
}
}
class CheckMarkView: UIView {
override init(frame: CGRect) {
super.init(frame: frame) // calls designated initializer
let img = UIImage(named: "circle.png") //replace with your image name
let imageView: UIImageView = UIImageView(image: img)
self.addSubview(imageView)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}