1
Я отобразил ячейки (от 0 до 9 и ОК, кнопка «Отмена») с помощью UICollectionView.Как показать/скрыть ячейку в UICollectionView с помощью Swift?
Ниже то, что я хочу:
- ОК и Отмена кнопки будут скрыты в первом.
- Когда пользователь выбирает хотя бы одно число, тогда кнопка «Отмена» становится видимой.
- Когда пользователь выбирает общее число из четырех, тогда кнопка Ok также становится видимой.
Ниже приведен код, который я сделал:
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)")
...
}
Как это может быть достигнуто?
Сохранить ссылки на Cancel и OK кнопки клеток в методе cellForItemAtIndexPath. Вы можете сначала установить их «contentView». Затем в файле didSelectItemAtIndexPath в зависимости от количества выбранных элементов вы можете использовать ссылки сохраненных ячеек, чтобы скрыть/отобразить кнопку contentView в кнопке OK/Cancel. – 7vikram7
Другим подходом было бы сохранить список выбранных (на 'didSelect..') и принудительно обновить (через' reloadData() '), которые включили бы/отключили Отмена/OK в зависимости от количества списков. Кстати, включение/отключение кнопок imo было бы намного более интуитивно понятным для пользователя, чем отображение/скрытие ... – Alladinian