Cell中的TextView文本颜色不会更改

时间:2017-10-19 10:20:13

标签: ios swift uitableview

我在每个tableView都有textView cell。 当用户执行Pull to Refresh的操作时,整个视图会更改其颜色,以及单元格中textView的文本颜色。 但有些细胞不会立即改变颜色由于某些原因,当我点击cell并移动到下一个视图时,它们最终会改变颜色。

这是一个例子: enter image description here

正如您所看到的,第一个单元格的文本颜色是正确的,但另外两个仍然像旧颜色一样。

这是我的代码:

    var colorNumber = 1
    var currentColor = UIColor()
    var refreshControl: UIRefreshControl!

func colors() {
    switch colorNumber {
            case 1: currentColor = UIColor(red: 252/255, green: 244/255, blue: 250/255, alpha: 1)
            case 2: currentColor = UIColor(red: 0/255, green: 200/255, blue: 100/255, alpha: 1)
            default: currentColor = UIColor(red: 100/255, green: 28/255, blue: 37/255, alpha: 1)
    }
            tableView.reloadData()
    }

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
      let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! notesTableViewCell
    cell.textView.tag = indexPath.row
    cell.textView.isEditable = false
    cell.textView.isSelectable = false
    cell.textView.text = contentInNotes[indexPath.row]
    cell.textView.textColor = currentColor
    cell.textView.backgroundColor = .clear
}

func refreshColor(sender:AnyObject) {
        switch colorNumber {
        case 1:
            colorNumber = 2
        case 2:
            colorNumber = 3
        case 3:
            colorNumber = 1
        default:
            colorNumber = 1
        }
        colors()
        refreshControl.endRefreshing()
    }
    override func viewDidLoad() {
        super.viewDidLoad()

refreshControl = UIRefreshControl()
        refreshControl.attributedTitle = NSAttributedString(string: "Pull to Change Colors")
        refreshControl.addTarget(self, action: #selector(refreshColor(sender:)), for: UIControlEvents.valueChanged)
        tableView.addSubview(refreshControl)
    }

修改

  

我发现,出于某种原因,每当有多少个字符   在每个细胞中超过4&用英语 - 它不会改变它的颜色!有   与代码中的字符限制无关。

知道为什么吗?

0 个答案:

没有答案