Цвет фона UIView в Custom TableView изменяется только при прокрутке, почему? - PullRequest
0 голосов
/ 08 октября 2019

Я хочу изменить весь цвет UIView на розовый, а не синий при первой загрузке таблицы, а не только при прокрутке, как это исправить? что теперь происходит, цвет просто изменился, когда вы прокрутите вниз до нижней части таблицы и вернитесь к верхней прокрутке, затем снова смените верхний синий на розовый

Я запутался в течение недели для этого материала, ха-ха

image_problem_header_view

My TableViewCell

override func awakeFromNib() {
        super.awakeFromNib()

        containerItem.addViewRounded(cornerRadius: 8)
        containerItem.addShadow()
    }

    override func layoutSubviews() {
        containerHeader.roundCorners([.topLeft, .topRight], radius: 8)
    }

    func configureCell(exc: Exceptional) {
        containerHeader.backgroundColor = UIColor(named: "Cinderella")
        lblStatusApprove.textColor = UIColor(named: "Carnation")
    }

Это мой код, связанный с просмотром таблицы:


    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let exc = arrayOfExceptional[indexPath.row]

        let cell = tableView.dequeueReusableCell(withIdentifier: "ExceptionalTableViewCell", for: indexPath) as! ExceptionalTableViewCell

        cell.lblApprover.text = exc.approver
        cell.lblCreatedAt.text = exc.createdAt
        cell.lblSubmitDate.text = exc.submitDate
        cell.lblTypeExceptional.text = exc.typeName
        cell.lblExcStartEnd.text = "\(exc.timeStart) - \(exc.timeEnd)"
        cell.lblDescription.text = exc.excDescription

        cell.lblSubmitDate.sizeToFit()
        cell.lblExcStartEnd.sizeToFit()
        cell.lblApprover.sizeToFit()
        cell.lblCreatedAt.sizeToFit()

cell.configureCell(exc: exc)

        return cell
    }

    func scrollViewDidScroll(_ scrollView: UIScrollView) {
        loadMoreControl.didScroll()
    }

My Viewdidload:

excTableView.register(UINib(nibName: "ExceptionalTableViewCell", bundle: nil), forCellReuseIdentifier: "ExceptionalTableViewCell")

content and reload table here

1 Ответ

0 голосов
/ 14 октября 2019

Привет, ребята, я нашел решение, чтобы решить мою проблему, потому что ячейка еще не полностью создана при первой загрузке, поэтому нам нужно добавить «ячейку willDisplay»

, поэтому я добавляю этот код:

func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {

        if let cell = cell as? ExceptionalTableViewCell {
            cell.containerHeader.backgroundColor = UIColor(named: "Cinderella")
            cell.lblStatusApprove.textColor = UIColor(named: "Carnation")
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...