2013-03-13 2 views
0

Я инициализировал longPressGesture в раскадровке, и я хочу добавить его в ячейки в collectionView.Добавление жестов из раскадровки в ячейки

Проблема заключается в том: жест работает только на последней добавленной ячейки в collectionView

Это мой код:

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath 
{ 
    MyCollectionCell *cell = (MyCollectionCell*)[collectionView dequeueReusableCellWithReuseIdentifier:@"MyCell" forIndexPath:indexPath]; 
    [cell addGestureRecognizer:longPressGesture]; 
    return cell; 
} 

.h файл:

IBOutlet UILongPressGestureRecognizer *longPressGesture; 

ответ

1

Если ваш метод назначения жестов выполняет ту же операцию для всей ячейки, а затем создает новый UILongPressGesture каждый раз и назначает его ce LL для UICollectionView как

-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { 

    MyCollectionCell *cell = (MyCollectionCell*)[collectionView dequeueReusableCellWithReuseIdentifier:@"MyCell" forIndexPath:indexPath]; 

    UILongPressGestureRecognizer *longPressGesture = [[UILongPressGestureRecognizer alloc] 
              initWithTarget:self action:@selector(handleGesture:)]; 
    longPressGesture.minimumPressDuration = 1.5; 

    [showUserMap addGestureRecognizer:lpgr]; 

    [cell addGestureRecognizer:longPressGesture]; 
    return cell; 
} 
+0

Я знаю, что это работает, но я хочу, чтобы добавить различные жесты для каждой ячейки, и это будет легче, и меньше кода, когда я делаю это в раскадровке. Знаете ли вы способ позволить этой работе? – Mohammed