У меня есть tableViewController
, который имеет три функции, две из которых работают успешно.
Добавление ячеек нажатием кнопки внутри панели инструментов = работает
Возможность вставлять текст в UITextView внутри ячейки, без дублирования и перемещения текста = работает
Когда нажата кнопка в ячейке, появляется checkMarkImage без дублированиякогда прокрутка и перемещение = не работают
checkMarkImage
не остается на месте в ячейке, в которой нажата кнопка.Он появляется снова при прокрутке и иногда исчезает, несмотря на мои попытки использовать логическое значение, для отслеживания ячеек, для которых была отмечена галочка.
конфигурация кнопки внутри моего customCellClass:
@IBAction func checkMarkButton(_ sender: UIButton) {
if checkedOff{
UIImageView.animate(withDuration: 0.3, delay: 0, options: [], animations: {
self.checkMarkImage.alpha = 0.0
self.notesTextView.isEditable = true
self.notesTextView.textColor = .white
self.checkedOff = false
},completion: nil)
}
else{
UIImageView.animate(withDuration: 0.3, delay: 0, options: [], animations: {
self.checkMarkImage.alpha = 1.0
self.notesTextView.isEditable = false
self.notesTextView.textColor = .orange
self.checkedOff = true
}, completion: nil)
}
}
Обработка ячейки внутри cellForRowAt
:
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cellIdentifier = "TableViewNotesCell"
let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath) as! TableViewNotesCell
cell.notesTextView.text = cellNumber[indexPath.row]
if cellNumber[indexPath.row] < " "{
print("celltext is less than nothing")
cell.notesTextView.textColor = .white
cell.notesTextView.isEditable = true
cell.checkMarkImage.alpha = 0.0
}
else{
if cell.checkedOff{
print("cell has been checked off")
cell.notesTextView.textColor = .orange
cell.notesTextView.isEditable = false
cell.checkMarkImage.alpha = 1.0
}
}
Я ожидаю, что checkMarkImage
ячейки останется в ячейке, в которой нажата кнопка, но фактический эффект заключается в том, что checkMarkImage
повторяется при прокрутке, а иногда и вовсе исчезает