1
我已经使用UICollectionView显示了单元格(0到9和确定,取消按钮)。如何使用Swift在UICollectionView中显示/隐藏单元格?
下面是我想要的东西:
- 确定和取消按钮,将首先被隐藏。
- 当用户选择至少一个号码时,取消按钮变得可见。
- 当用户选择总共四个号码,然后确定按钮也变得可见。
下面是我做的代码:
var items = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "Cancel","0", "OK"]
...
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCellWithReuseIdentifier("Cell", forIndexPath: indexPath) as! CustomCollectionViewCell
cell.lblNumber!.text = self.items[indexPath.item]
if (self.items[indexPath.item])=="Cancel" {
cell.hidden = true;
}
if (self.items[indexPath.item])=="OK" {
cell.hidden = true;
}
return cell
}
func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
print("You selected cell #\(indexPath.item) and value : \(self.items[indexPath.item]) count : \(counter)")
...
}
如何才能实现这一目标?这里
保存在cellForItemAtIndexPath方法将取消和OK键细胞引用。您可以将其'contentView'设置为隐藏。然后在didSelectItemAtIndexPath中根据所选项目的数量,可以使用已保存单元格的引用来隐藏/取消隐藏OK/Cancel按钮的contentView。 – 7vikram7
另一种方法是保持选择列表(在'didSelect..'上)并强制更新(通过'reloadData()'),根据列表的数量启用/禁用取消/ OK。顺便说一下,imo启用/禁用按钮对用户来说要比显示/隐藏更加直观。 – Alladinian