2017-01-30 2 views
0

Я работаю над сеткой (например, тральщик). Это 2-я сетка, которую я показываю, используя UICollectionView, который содержит набор пользовательских ячеек UICollectionViewCell.Лучшие принципы для добавления распознавателей жестов в приложениях быстрого ios

Я хочу иметь возможность прослушивать события касания на отдельных ячейках. Можно ли добавить UITapGestureRecognizer() в каждую из ячеек (например, на доске 20x20). Или есть лучший способ?

я понял из ответа Ахмада, что с помощью этой работы для отдельных кранов:

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { 
    print(indexPath.row) 
} 

Однако, я хочу различные обработчик событий для одного против двойных нажатий на клетки.

ответ

0

Если вы хотите, чтобы базовый контейнер был UICollectionView (который я считаю им полезной), я сомневаюсь, что вам нужно добавить UITapGestureRecognizer, все, что вам нужно сделать, это позволить вашему классу (контроллеру) соответствует UICollectionViewDelegate его Делегат и реализует collectionView:didSelectItemAtIndexPath:.

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

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { 
    print(indexPath.row) 
} 

не забудьте:

class ViewController: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource { //... 

EDIT:

В случае, если вы хотите добавить двойной кран функциональность для вашей коллекции, я предлагаю проверить this answer, чтобы достичь этого.

Надеюсь, это помогло.

+0

Пожалуйста, проверьте мои изменения в ответе –

+0

Спасибо. Это было очень полезно. Очень признателен. – sridhar

+0

@sridhar Рад помочь. Кстати, если этот ответ правильный для вашего вопроса, вы должны его принять, это даст вам +2 балла, даст мне +15 очков, и самое главное, чтобы зрители знали, что это решение. –

Смежные вопросы