ios — добавление одного распознавателя жестов к нескольким ярлыкам

Я создаю динамические метки в режиме прокрутки и хочу добавить распознаватель одного жеста ко всем этим динамически генерируемым меткам. Я создаю жест следующим образом

UIPanGestureRecognizer *gesture = [[UIPanGestureRecognizer alloc]
                                    initWithTarget:self
                                    action:@selector(handlePan:)] ;

Теперь я хочу добавить этот жест к нескольким ярлыкам. Можно ли добавить тот же жест к динамически создаваемым меткам?


person nikBhosale    schedule 11.06.2013    source источник


Ответы (2)


попробуйте это .. это работает для меня

NSMutableArray *arrayForLabels=   [NSMutableArray array];
[arrayForLabels addObject:label];
[arrayForLabels addObject:label1];

// enable touch delivery
label.userInteractionEnabled = YES;
label1.userInteractionEnabled = YES;


for (UILabel *myLabel in arrayForLabels) {

    UIPanGestureRecognizer *gesture = [[UIPanGestureRecognizer alloc]
                                       initWithTarget:self
                                       action:@selector(handlePan:)] ;

    [myLabel addGestureRecognizer:gesture];
}
person Rahul    schedule 11.06.2013
comment
спасибо за работу @rahul - person nikBhosale; 11.06.2013

Вместо этого вы можете сделать одну вещь: поместите все свои ярлыки в массив myLabelArray

NSArray *myLabelArray;

затем добавьте следующий код. каждый раз он будет создавать новый экземпляр распознавателя жестов.

for (UILabel *myLabel in myLabelArray) {
    UIPanGestureRecognizer *gesture = [[UIPanGestureRecognizer alloc]
                                       initWithTarget:self
                                       action:@selector(handlePan:)] ;
    [myLabel addGestureRecognizer:gesture];
}
person Prashant Nikam    schedule 11.06.2013