gpt4 book ai didi

ios - 在 Swift 中以编程方式突出显示 UITableViewCell

转载 作者:行者123 更新时间:2023-11-28 07:51:42 26 4
gpt4 key购买 nike

如何以编程方式突出显示表格 View 单元格?

我正在使用:

tableView.selectRow(at: indexPath, animated: true, scrollPosition: .none)
tableView.delegate?.tableView!(self.ordersTableView, didSelectRowAt: indexPath)

我遇到的问题是正在选择单元格(正在执行我的 didSelectRowAt 中指定的所有操作)但单元格现在突出显示。它似乎没有被选中。
我想要实现的是 iPad 上的设置应用程序。您启动应用程序并看到“常规”单元格已被选中并突出显示。
当用户触摸时,单元格会正确突出显示。

我什至尝试在我的 UITableViewCell 子类中覆盖 isSelected 变量。

好的,原来这是后台任务的问题。在我选择它们之后,这些单元格会再次加载,这就是选择不可见的原因。

最佳答案

注意:您的问题标题说,您有一个带有单元格高亮的查询,而您的问题描述说,您在选择单元格时遇到问题。两者是不同的事件。

这是一个答案,如何在表格 View 行(单元格)选择上管理(设置颜色):

// make sure your tableview row selection is enabled
yourTableViewInstance.allowsSelection = true


// handle highlighted background in data source method also
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "textview") as! YourTableViewCell
cell.contentView.backgroundColor = cell.isSelected ? UIColor.red : UIColor.gray
return cell
}



// didSelectRowAtIndexPath - change background color
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if let cell = tableView.cellForRow(at: indexPath) as? YourTableViewCell {
cell.contentView.backgroundColor = UIColor.red
}
}


// didDeselectRowAtIndexPath - change background color
func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
if let cell = tableView.cellForRow(at: indexPath) as? YourTableViewCell {
cell.contentView.backgroundColor = UIColor.gray
}
}

关于ios - 在 Swift 中以编程方式突出显示 UITableViewCell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49499948/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com