我试图在选择表格视图单元格时删除突出显示,但希望保留出现的复选标记。
当我在 cellForRowAtIndexPath 中尝试这个时:
cell.backgroundView = UIView()
cell.backgroundView?.backgroundColor = UIColor.clearColor()
它仅删除复选标记下方的突出显示,而不是整行(请参阅附图)。
当我在 cellForRowAtIndexPath 中尝试这个时:
cell.selectionStyle = UITableViewCellSelectionStyle.None
它不再显示复选标记。
更新:试过这个,和 cell.selectionStyle 做同样的事情,它不再做复选标记
func tableView(tableView: UITableView, shouldHighlightRowAtIndexPath indexPath: NSIndexPath) -> Bool {
return false
}
这样做的好方法是什么?我希望它仍然像复选框一样起作用,但只是不希望出现蓝色突出显示。TableView 是动态生成的:
checkBoxView = UITableView()
checkBoxView.frame = CGRect(x: qView.bounds.midX, y: qView.bounds.midY, width: qView.bounds.width - 100, height: qView.bounds.height/1.5)
checkBoxView.center = CGPointMake(qView.bounds.midX, qView.bounds.midY)
checkBoxView.delegate = self
checkBoxView.dataSource = self
checkBoxView.tag = 100
checkBoxView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
checkBoxView.setEditing(true, animated: true)
self.qView.addSubview(checkBoxView)
表视图功能:
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.checkBoxContent.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell:UITableViewCell = checkBoxView.dequeueReusableCellWithIdentifier("cell") as! UITableViewCell
cell.textLabel?.text = self.checkBoxContent[indexPath.row]
cell.backgroundColor = UIColor.clearColor()
cell.tintColor = UIColor.greenColor()
return cell
}
func tableView(tableView: UITableView, editingStyleForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCellEditingStyle {
return UITableViewCellEditingStyle(rawValue: 3)!
}