当我在IBAction
中选择一行时,我很难阻止我的tableView
按钮的背景颜色发生颜色变化。我按钮的背景设置为绿色,但是当我点击表格视图单元格时,它变为灰色。我试图通过不同的函数(tableView didSelectRowAtIndexPath
等)来改变颜色。关于如何阻止按钮背景改变的任何想法?
提前致谢!
答案 0 :(得分:2)
backgroundColor
中的按钮TableView
遇到了同样的问题,并以这种方式解决了问题。
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let cell = tableView.cellForRow(at: indexPath) as! CustomCell
cell.button.backgroundColor = UIColor.greenColor()
}
答案 1 :(得分:0)
我用上面提到的Nirav代码解决了这个问题:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let cell = tableView.cellForRow(at: indexPath) as! CustomCell
cell.button.backgroundColor = UIColor.green
}
然而,我注意到当我敲击行时按钮背景颜色继续变为灰色,并且在没有释放的情况下保持“敲击”。我通过添加以下代码解决了这个问题:
func tableView(_ tableView: UITableView, didHighlightRowAt indexPath: IndexPath) {
let cell = tableView.cellForRow(at: indexPath) as! CustomCell
cell.exploreButton.backgroundColor = UIColor.green
}
答案 2 :(得分:0)
如果要完全禁用选择时的颜色更改,请在自定义单元格中更改selectionStyle属性:
selectionStyle = .none