向多个标签添加单个手势识别器



我正在滚动视图中创建动态标签,我想将单个手势识别器添加到所有这些动态生成的标签。我创建的手势如下

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

现在我想把这个手势添加到多个标签上。是否可以添加相同的手势动态创建的标签?

试试这个…它对我有用

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];
}

你可以做一件事将所有标签放入数组myLabelArray

NSArray *myLabelArray;

,然后添加以下代码。每次它都会创建一个新的手势识别器实例。

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

最新更新