滑动手势添加到UILabel,但它无法正常工作

时间:2012-01-25 16:25:40

标签: iphone objective-c ios uilabel uigesturerecognizer

UISwipeGestureRecognizer *swipe = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipedGesture:)];
swipe.direction = UISwipeGestureRecognizerDirectionRight;
 swipe.numberOfTouchesRequired = 1;
  [self.myLabel.superview addGestureRecognizer:swipe];

- (void)swipedGesture:(UIGestureRecognizer *)recognizer
{
    NSLog(@"I swiped ;)");
}

所以,这就是:我有一个名为myLabel的标签。当我向右滑动它应该打印NSLog I swiped,但没有任何反应。什么原因?我在这做错了什么?有人可以帮我编辑我的代码以使其工作吗?

2 个答案:

答案 0 :(得分:10)

您是否需要将此滑动手势添加到UILabel?您将它添加到该标签的超级视图中。

更改 - [self.myLabel.superview addGestureRecognizer:swipe];

到 - [self.myLabel addGestureRecognizer:swipe];

更新:同样作为justin积分,请将userInteractionEnabled设置为YES标签,如此 - [self.myLabel setUserInteractionEnabled:YES];

答案 1 :(得分:10)

除非您在标签上将userInteractionEnabled设置为YES,否则手势识别器将无法使用。