迭代数组并更改每个UITableView Cell的背景颜色

时间:2018-02-23 23:36:44

标签: ios swift uitableview uicolor

我试图更好地了解UITableViews并从头开始构建它们。我想构建一个表格视图,为每个单元格显示不同的背景颜色。我已经构建了一个ColorModel类,它包含一个UIColors类型的数组。我的所有tableview单元格都显示红色背景,这是数组中的最后一种颜色。这是片段:

import Foundation
import UIKit

class ColorModel {

static var colors = [
    UIColor.white,
    UIColor.blue,
    UIColor.black,
    UIColor.brown,
    UIColor.cyan,
    UIColor.green,
    UIColor.red
]

} 

这是我的主视图控制器语法:

import UIKit

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {

@IBOutlet weak var tableView: UITableView!
var colorList = ColorModel.colors

override func viewDidLoad() {
    super.viewDidLoad()
    tableView.dataSource = self
    tableView.delegate = self
}

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

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "ColorCell", for: indexPath)
    for color in colorList {
        cell.backgroundColor = color
    }
    return cell
}


}

我哪里错了?

1 个答案:

答案 0 :(得分:5)

使用func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "ColorCell", for: indexPath) let color = colorList[indexPath.row] cell.backgroundColor = color return cell } 获取数组中每个单元格的颜色

@bigcommerce