Получить indexPath UICollectionViewCell

У меня есть собственный класс CollectionViewCell, затем я сгенерировал их количество внутри CollectionView. Затем я также добавил модальный переход при касании ViewCells. Как мне получить идентификатор (или индексный путь), какая ячейка была нажата при активации модального перехода.

Я видел здесь, что кто-то предложил мне добавить в файл ViewCell.m метод

-(void)collectionView: (UICollectionView*)collectionView didSelectItemAtIndexPath:   (NSIndexPath*)indexPath{
//get indexpath variable in here
}

Но этот метод, похоже, не вызывается. Может ли кто-нибудь помочь мне с тем, какой метод нужно будет вызывать, когда у CollectionViewCell есть модальный переход для получения пути к индексу.

Спасибо,


person Oli Black    schedule 22.10.2013    source источник


Ответы (2)


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

Если вы хотите, чтобы collectionViewCell справился с этим, сделайте подпредставления вашей ячейки чисто декоративными, отключив их поведение для запуска перехода. (например, если это кнопки, а "touchUpInside" запускает переход, измените их на представления без обработки касания вообще.).

Затем касание будет передаваться вверх по иерархии представлений до тех пор, пока CollectionViewCell не обработает его, что он и делает с помощью метода collectionView:didSelectItemAtIndexPath:.

person ryan cumley    schedule 22.10.2013

Метод является обратным вызовом класса делегата объекта представления коллекции:

-(void)collectionView: (UICollectionView*)collectionView didSelectItemAtIndexPath:   (NSIndexPath*)indexPath

Таким образом, вы должны реализовать файл .m класса делегата вашего представления коллекции.

person JeroValli    schedule 22.10.2013