Xcode / Swift中的多个UIGestureRecognizers

时间:2015-05-28 03:22:40

标签: ios iphone xcode swift uigesturerecognizer

现在,我有两个不同的UILabel,每个都有自己的长按和泛UIGestureRecognizers(通过故事板设置)。我的最终目标是让每个UILabel在长按时改变颜色,并且不用抬起手指来结束长按,当用户上下或左右摇晃时改变UILabel本身的值。

现在,每个UILabel都有自己的平移手势方法和长按手势方法。是否有任何方法可以为两个UILabel设置一个长按/平移方法,但是还能够为一个标签做一些事情,为另一个标签做些什么?

此外,还有更好的方法吗?最后,我还希望在更改标签的值时实现视觉反馈,例如以动画的形式。

我是iOS编程和编程的新手,非常感谢详细的答案。感谢。

1 个答案:

答案 0 :(得分:0)

你可以拥有一个单独的功能。不需要单独的手势分开Label.Example

//First add tag value to ur labels
label_one.tag=1;
label_two.tag=2;


UIPanGestureRecognizer * _panGestureRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self
                                                                action:@selector(handlePanGesture:)];
_panGestureRecognizer.delegate = self;
[label_one addGestureRecognizer:_panGestureRecognizer];


 UIPanGestureRecognizer * _panGestureRecognizer_two = [[UIPanGestureRecognizer alloc] initWithTarget:self
                                                                action:@selector(handlePanGesture:)];
_panGestureRecognizer_two.delegate = self;
[label_two addGestureRecognizer:_panGestureRecognizer_two];


-(void)handlePanGesture:(UIPanGestureRecognizer*)sender{
     if(sender.tag==1){

     }
     else if(sender.tag==2){
     }
 }

同样适用于其他手势