ios - 更改 UITableView 中 Cell 的背景

标签 ios swift uitableview cell

我想更改特定单元格的背景颜色以匹配文本的颜色。 例如,“红色”单元格将具有红色背景等。 我很难弄清楚要放置什么代码。有什么建议吗?

导入 UIKit

class PedsTableViewController: UITableViewController {
    var PENames = [String] ()
    var PEIdentities = [String] ()
    var PEDetail = [String] ()

    override func viewDidLoad() {
        PENames = ["Green","Orange","Blue","White","Yellow","Purple","Red","Pink"]
        PEIdentities = ["Green","Orange","Blue","White","Yellow","Purple","Red","Pink"]
        PEDetail = ["Green","Orange","Blue","White","Yellow","Purple","Red","Pink"]
    }

    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return PENames.count
    }

    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "PECell")

        cell?.textLabel!.text = PENames[indexPath.row]

        cell?.detailTextLabel!.text = PEDetail[indexPath.row]


        return cell!
    }

    override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

        let vcName = PEIdentities[indexPath.row]
        let viewController = storyboard?.instantiateViewController(withIdentifier: (vcName))
        self.navigationController?.pushViewController(viewController!, animated: true)

    }
}

最佳答案

您可以创建一个具有匹配颜色的新数组:

var colors = [UIColor]()

override func viewDidLoad() {
  colors = [.green, .orange ... ]
}

然后,只需在单元格中设置颜色即可:

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
  let cell = tableView.dequeueReusableCell(withIdentifier: "PECell")

  ..

  cell?.contentView.backgroundColor = colors[indexPath.row]
  return cell!
}

关于ios - 更改 UITableView 中 Cell 的背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55787044/

相关文章:

ios - 为什么 UITableViewCell 首先显示以前的值,然后才更新自身?

iOS 11 错误,didselectrowatindexpath 调用同时用两根手指点击单元格

ios - .calendarsForEntityType(EKEntityType.Reminder) 不返回提醒列表列表

ios - 我可以将选项卡 View Controller 嵌入到容器 View 中吗?

ios - 如何设置从特定日期起每 7、14、28 天重复一次的本地通知

swift - 将字符串转换为 NSObject Swift 3

ios - 分段 TableView 索引路径问题

ios - 如何从 Firebase 获取单个数据库引用

ios - 在 Apple Watch 应用上恢复 NSUserDefaults 数据

ios - 每次应用程序启动时都会调用 WKWebView 请求 DeviceMotion 和 DeviceOrientation 的权限