UICollectionViewCell передает indexpath.item в список - PullRequest
1 голос
/ 22 февраля 2020

Итак, я получил этот код, где я хочу иметь возможность нажать на созданную ячейку, а затем присвоить ей название. Если я коснусь его еще раз, я хочу, чтобы ячейка была выбрана (здесь будет больше ячеек), прежде чем я отправлю их данные в оповещение, где я выберу из списка сохраняемых моделей в приложении. Есть ли простой способ сделать это?

Как видно на этом рисунке:

enter image description here

Кнопка отправки по умолчанию отключена , но когда элементы выбраны, включается показ этого предупреждения, как описано ранее.


    override func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
            let image = images[indexPath.item]

            if (image.label == "Tap to Edit") {
                let alertController = UIAlertController(title: "Set image title", message: nil, preferredStyle: .alert)
                alertController.addTextField()

                alertController.addAction(UIAlertAction(title: "OK", style: .default) { [weak self, weak alertController] _ in
                    guard let newTitle = alertController?.textFields?[0].text else {
                        return
                    }
                    image.label = newTitle
                    self?.collectionView.reloadData()
                })

                    alertController.addAction(UIAlertAction(title: "Cancel", style: .cancel))
                    present(alertController, animated: true)
            } else {
                // addToList

            }
        }

1 Ответ

1 голос
/ 22 февраля 2020

Напишите чек .. если image.label != "tap to edit", то покажите выбранное изображение в этой ячейке и поместите этот индексный путь в массив .... То же самое и в случае других ячеек ... когда пользователь нажимает "отправить" ... получить все индексы из что массив и выполнить действие?

...