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
,但没有任何反应。什么原因?我在这做错了什么?有人可以帮我编辑我的代码以使其工作吗?
答案 0 :(得分:10)
您是否需要将此滑动手势添加到UILabel
?您将它添加到该标签的超级视图中。
更改 - [self.myLabel.superview addGestureRecognizer:swipe];
到 - [self.myLabel addGestureRecognizer:swipe];
更新:同样作为justin积分,请将userInteractionEnabled
设置为YES
标签,如此 - [self.myLabel setUserInteractionEnabled:YES];
答案 1 :(得分:10)
除非您在标签上将userInteractionEnabled
设置为YES
,否则手势识别器将无法使用。