现在,我有两个不同的UILabel,每个都有自己的长按和泛UIGestureRecognizers(通过故事板设置)。我的最终目标是让每个UILabel在长按时改变颜色,并且不用抬起手指来结束长按,当用户上下或左右摇晃时改变UILabel本身的值。
现在,每个UILabel都有自己的平移手势方法和长按手势方法。是否有任何方法可以为两个UILabel设置一个长按/平移方法,但是还能够为一个标签做一些事情,为另一个标签做些什么?
此外,还有更好的方法吗?最后,我还希望在更改标签的值时实现视觉反馈,例如以动画的形式。
我是iOS编程和编程的新手,非常感谢详细的答案。感谢。
答案 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){
}
}
同样适用于其他手势