Я создаю пользовательскую ячейку, и я добавляю в нее субвью для текста в основном. Сначала субблоки не удалялись, когда ячейка была повторно использована, поэтому текст будет перезаписываться и портиться очень плохо. Затем я добавил этот цикл for к функции, и он решил мою проблему, за исключением того, что он также полностью удаляет мой ImageView, и он никогда не добавляется повторно, поэтому в моем представлении таблицы отсутствует изображение, которое должно быть связано с каждой ячейкой.Удаление всех подзадач из UITableViewCell, за исключением imageView
Оператор if не работает, но я явно не использовал cell.addSubView(), как это сделал ящик для ярлыков ячеек, поэтому мне интересно, связано ли это с этим. Я googled и обнаружил, что большинство людей говорят, что это сработало для них, но я просто не могу понять это.
Почему это удаляет мои изображения, почему они не придут, как и другие подзаголовки, и как я могу это исправить?
У меня есть следующий код:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell") as! UITableViewCell
for subView in cell.subviews {
if subView as? NSObject != cell.imageView {
subView.removeFromSuperview()
}
}
var statusImage = UIImage(named:imageConfigration(indexPath.row))!
cell.imageView?.image = statusImage
// ...
}
Вы, вероятно, с удалением contentView клетки. Попробуйте выполнить цикл с помощью cell.contentView – Tobias
Если вы создали пользовательскую ячейку, вы должны подклассифицировать ее и добавить свои подпрограммы в методе init ячейки. Если вы это сделаете, вам не придется беспокоиться об их удалении, когда ячейка повторно используется. – rdelmar