如何在UITableView中更改某些单元格的文本颜色?

时间:2016-04-19 03:27:51

标签: ios xcode swift uitableview

所以,我正在Xcode 6(Swift 1)中创建一个应用程序。我试图让某些单元格的文本颜色变为绿色,而其他单元格变为红色,但是,我没有成功。这是我的代码:

import Foundation
import UIKit

class ViewController: UIViewController, UITableViewDelegate,     UITableViewDataSource {
@IBOutlet var tableView: UITableView!
var items: [String] = ["green", "red"]

override func viewDidLoad() {
    super.viewDidLoad()

    self.tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
}


func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return self.items.count;
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    var cell:UITableViewCell = self.tableView.dequeueReusableCellWithIdentifier("cell") as UITableViewCell

    cell.textLabel?.text = self.items[indexPath.row]

    return cell
}

func tableView(tableView: UITableView!, didSelectRowAtIndexPath indexPath: NSIndexPath!) {
    println("You selected cell #\(indexPath.row)!")
}
}

这是我更改通用文字颜色的代码:

cell.textLabel.textColor = [UIColor greenColor];

因此,例如,如何将“绿色”单元格设为绿色,将“红色”单元格设为红色?谢谢!

1 个答案:

答案 0 :(得分:2)

var items声明之后,添加:

let itemColors = [UIColor.greenColor(), UIColor.redColor()]

tableView(_:cellForRowAtIndexPath:)中,在return语句之前添加:

cell.textLabel?.textColor = itemColors[indexPath.row]