У меня есть UITableView с пользовательским UITalbeCellView. Каждая ячейка имеет название тела и дату. Когда я извлекаю данные , некоторые из названий должны быть красными, поэтому существует Bool, для которого установлено значение true для тех ячеек, название которых должно быть красным.UITableView меняет вещи некоторых ячеек в Swift
В первый раз, когда данные извлекаются, все выглядит нормально, но при прокрутке вверх и вниз несколько раз все заголовки заканчиваются красным.
Im, используя массив структур для хранения данных и на cellForRowAtIndexPath есть если и если логическое в этой позиции массива верно ли я изменить цвет на красный:
let cell = tableView.dequeueReusableCellWithIdentifier("CommentsRowTVC", forIndexPath: indexPath) as! CommentsRowTVC
let single_comment = self.AOS[indexPath.row]
cell.titulo_comentario?.text = single_comment.titulo_comment
if single_comment.flag == true {
cell.titulo_comentario.textColor = UIColor.redColor()
}
Im gessing он повторяет представления или что-то в этом роде. У этого есть легкое исправить? Или мне нужно реализовать собственный TableView для предотвращения этого? Я также думаю, что метод dequeueReusableCellWithIdentifier может быть причиной моей проблемы ... но Im new on swift и can not думаю о любой замене для этого.
Это происходит аналогично на кнопках, которые есть на ячейках, когда вы нажимаете кнопку из ячейки, она меняет свой цвет и отключает его, но только тот, который находится на этой ячейке. Однако при нажатии на ячейку также изменяются кнопки из других ячеек.
который сработал отлично, спасибо. Однако, когда я меняю цвет кнопок Im, делаю это из функции, вызываемой из cell.myButton.addTarget. Как я могу отменить эти изменения? –
@PabloDuque Я пытаюсь НИКОГДА не менять ячейку вне 'cellForRowAtIndexPath'. Я пытаюсь отразить все свойства, которые определяют отображение ячейки в пользовательской структуре данных, и всякий раз, когда ячейка нуждается в изменении, я изменяю соответствующее свойство в структуре данных и перезаряжаю строку или весь tableView. – luk2302
Как я могу прочитать нажатие кнопки из 'cellForRowAtIndexPath' ?? –