Представления в TableViewCell становятся клонированными |Выпуск |Swift 4.2 |iOS (см. изображение) - PullRequest
0 голосов
/ 07 февраля 2019

Refer to the last Cell (See Issue here) Я создаю приложение для чата, но при перезагрузке ячейки некоторые из представлений клонируются на несколько мс.Может ли кто-нибудь направить меня сюда, что случилось неправильно.Ниже приведен мой код для TableViewCell:

class TxtMsgSenderCell: UITableViewCell {

func configureCellWith(msgModel: MessageModel) {
    if msgModel.msgStatus == 1 {
        self.activityIndicator.startAnimating()
        self.btnError.isHidden = true
        self.imgViewReadStatus.isHidden = true
        self.lblMsgStatus.isHidden = true
    } else if msgModel.msgStatus == 2 {
        self.activityIndicator.stopAnimating()
        self.btnError.isHidden = true
        self.lblMsgStatus.isHidden = false
        let receiverId = self.getReceiverId(arrIDs: Array(msgModel.members))
        if receiverId.isEmpty {
            self.imgViewReadStatus.isHidden = true
            self.lblMsgStatus.text = "Sent"
        } else {
            if msgModel.seenBy.contains(receiverId) {
                self.imgViewReadStatus.isHidden = true
                self.imgViewReadStatus.image = UIImage(named: "read")
                self.lblMsgStatus.text = "Seen"
            } else if msgModel.deliveredTo.contains(receiverId) {
                self.imgViewReadStatus.isHidden = true
                self.imgViewReadStatus.image = UIImage(named: "unread")
                self.lblMsgStatus.text = "Delivered"
            } else {
                self.imgViewReadStatus.isHidden = true
                self.lblMsgStatus.text = "Sent"
            }
        }

    } else {
        self.activityIndicator.stopAnimating()
        self.btnError.isHidden = false
        self.imgViewReadStatus.isHidden = true
        self.lblMsgStatus.isHidden = true
    }
    self.lblMessage.text = msgModel.message
    if let timestampInMs = Double(msgModel.createdAt) {
        let msgDate = Date(timeIntervalSince1970: timestampInMs*0.001)
        self.lblTime.text = msgDate.timeAgoSince
    }
}

}

Смотрите, здесь у меня есть только одна UILabel для отображения времени, но я могу видетьдве разные метки в одной ячейке на некоторое время.

...