Я пытаюсь добавить UIButton
к каждой ячейке в моем UICollectionView
, когда нажата кнопка (за пределами UICollectionView
), а затем удалить их, когда ее нет.
В основном, boolean
, если true - показать / добавить, иначе скрыть / удалить. Это мой cellForItemAt
. Я также попытался добавить его к willDisplay cell
.
let btnItemDelete = UIButton()
btnItemDelete.tag = indexPath.row
btnItemDelete.addTarget(self, action: #selector(self.btnItemDeleteClick), for: .touchUpInside) //Selector works
btnItemDelete.frame = CGRect(x: cell.bounds.width-22, y: 2, width: 20, height: 20) //Creation works
btnItemDelete.setImage(deleteImage, for: .normal) //Image works
if (isEdit) {
//Add or Show
cell.addSubview(btnItemDelete)
}
else {
//Delete or Hide
btnItemDelete.removeFromSuperview()
}
При запуске этого параметра isEdit
изначально установлен в значение false, и кнопки не отображаются. После нажатия кнопки, чтобы изменить логическое значение, появляются кнопки. При нажатии кнопки, чтобы установить логическое значение обратно в false, кнопки остаются. Я полагаю, что это что-то с btnItemDelete.removeFromSuperview()
- есть ли другой подход для этого? Я подумал, что не могу их скрыть / показать, потому что он будет продолжать добавлять новую кнопку в ячейку при каждой перезагрузке.