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;

след това добавете следния код. всеки път ще създава нов екземпляр на gesturerecognizer.

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