Достичь нажатия кнопки в UICollectionView

Есть ли способ получить событие нажатия кнопки с помощью кнопки внутри UICollectionViewCell ? Я использовал наконечник для заполнения вида коллекции, у ячейки есть кнопка, но ее действие не вызвано. Я думаю, что проблема заключается в том, что делегат будет вызван. Как я могу это исправить?

Как я создал:

  1. Добавлен пустой нить, создана ячейка просмотра коллекции
  2. Добавлены файлы .h и .m и сделали владельца файлов элемента nib в качестве созданного класса.
  3. Написал действие в классе.
  4. Подключена кнопка к действию

Есть ли способ получить действие? Что я делаю не так?

Добавьте действие кнопки следующим образом:

 - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { CollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"CellId" forIndexPath:[indexPath row]]; [[cell myButton] addTarget:self action:@selector(myClickEvent:event:) forControlEvents:UIControlEventTouchUpInside]; return cell; } - (IBAction)myClickEvent:(id)sender event:(id)event { NSSet *touches = [event allTouches]; UITouch *touch = [touches anyObject]; CGPoint currentTouchPosition = [touch locationInView:_myCollectionArray]; NSIndexPath *indexPath = [_myCollectionArray indexPathForItemAtPoint: currentTouchPosition]; } 

Важно, чтобы вы создали ячейку в Nib, перетащив «Collection View Cell» из панели «Объекты». Если вы используете UIView и просто изменяете класс для этой ячейки в Identity Inspector, действие не будет работать.

Вот быстрый код 3.1

 // make a cell for each cell index path func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { // get a reference to our storyboard cell let cell = collectionView.dequeueReusableCell(withReuseIdentifier: reuseIdentifier, for: indexPath as IndexPath) as! BlueCircleViewCell // Use the outlet in our custom class to get a reference to the UILabel in the cell cell.bgImage.image = UIImage(named: items[indexPath.row]) cell.addButton.addTarget(self, action: #selector(addCircle(_:)), for: .touchUpInside) // cell.backgroundColor = UIColor.cyan // make cell more visible in our example project return cell } func addCircle(_ sender:UIButton){ //CGPoint buttonPosition = [sender convertPoint:CGPointZero toView:self.tableView]; let buttonPosition:CGPoint = sender.convert(.zero, to: self.collectionView) let indexPath:IndexPath = self.collectionView.indexPathForItem(at: buttonPosition)! onAddBlueCircle(indexPath: indexPath) } 
  • UICollectionView moveItemAtIndexPath: toIndexPath: проблемы перемещения элементов не на экране
  • Использование UICollectionReusableView для группировки ячеек
  • IOS 7 CollectionViewFlowLayout 3D-перевод (например, новый Safari Tabviewer)
  • collectionView: cellForItemAtIndexPath: почему мой взгляд имеет нулевые объекты?
  • UICollectionView Cell с изображением, изменение фона с помощью щелчка
  • UICollectionView Прокрутка по горизонтали
  • Невозможно заставить UICollectionView отображать ячейки
  • Подкласс iOS Подкласс UICollectionViewCell
  • Добавить UILabel в ячейке UICollectionView
  • UICollectionView 3 столбчатая сетка, 1px пробел ??? (изображение включено)
  • UICollectionView отображает только первый элемент
  • Interesting Posts

    в чем разница между ограниченным и неограниченным устройством?

    Swift – метод цепочки

    Открытие приложения (iPhone) через низкую энергию bluetooth

    Получение SSDP-ответа с использованием CocoaAsyncSocket в Swift

    Доступность не отображает кнопки утилиты SWTableViewCell

    WKWebView с локальным файлом

    Есть ли библиотека для получения аудиоданных в формате vorbis с AVCaptureSession в iPhone?

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

    Ошибка: Неоднозначная ссылка на «индекс» участника в Swift 3

    как установить высоту ячейки таблицы динамически в зависимости от длины текстовой метки?

    Постоянные данные в Swift

    Сохранение / получение JPEG из галереи пользователя без рекомпрессии

    Как определить, что точка находится внутри многоугольника, используя SDK Google Maps для iOS?

    WKWebview, вводящий cookie-заголовок, вызывает цикл перенаправления

    AVCapture теряет способность устанавливать фокус при использовании ZBar SDK

    Давайте будем гением компьютера.