Почему добавление subView к tableViewCell добавляется несколько раз? - PullRequest
0 голосов
/ 19 февраля 2019

Я хочу добавить собственный subView внутри tableViewCell.В основном каждый раз, когда я нажимаю на изображение внутри ячейки.он будет отображать пользовательский subView с надписью на нем.Ссылка на мой проект: здесь

Проблема в том, что, когда я нажимаю на конкретную ячейку (0), например.Он отображает значение (0), но также отображает значение (0) в indexPath # 2.То же самое касается, когда я нажимаю на ячейку (1), она также отображает значение (1) на indexPath # 3.И паттерн проходит по (0-2) и (1-3)

Я слышал, что люди предлагают использовать метод prepareForReuse, но пока не повезло.

Буду рад любым идеям и помощи.Спасибо.

1 Ответ

0 голосов
/ 19 февраля 2019

Вам нужно очистить ячейку, когда она истощена

let subview = TagBox(frame: CGRect(x: self.view.frame.width/2, y: self.view.frame.height/2, width: 100, height: 30), boxName: label)
subview.backgroundColor = UIColor.black
subview.tag = 120

cell.contentView.subviews.forEach {
    if $0.tag == 120 { 
        $0.removeFromSuperview()
    } 
}

Или внутри ячейки

override func prepareForReuse() {
    super.prepareForReuse()
    self.contentView.subviews.forEach {
        if $0.tag == 120 {
            $0.removeFromSuperview()
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...