【发布时间】:2019-04-01 03:50:58
【问题描述】:
当按下按钮(在UICollectionView 之外)时,我试图在我的UICollectionView 中的每个单元格中添加一个UIButton,然后在没有按下按钮时将其删除。
基本上,boolean 如果为真 - 显示/添加,否则隐藏/删除。这是我的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() 的问题 - 有没有不同的方法来做到这一点?我想我不能隐藏/显示它们,因为它只会在每次重新加载时继续向单元格添加一个新按钮。
【问题讨论】:
标签: ios swift uicollectionview uibutton uicollectionviewcell