2012-01-25 37 views
2
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的标签。当我向右滑动时,它应该打印NSLogI swiped,但没有任何反应。什么原因?我在这里做错了什么?有人可以帮我编辑我的代码,使其工作?滑动手势添加到UILabel,但它不起作用

回答

10

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

变化 - [self.myLabel.superview addGestureRecognizer:swipe];

到 - [self.myLabel addGestureRecognizer:swipe];

UPDATE:也贾斯汀点,请设置userInteractionEnabledYES像这样的标签 - [self.myLabel setUserInteractionEnabled:YES];

+0

请问您可以告诉我,将其添加到该标签的超级视图中是什么意思?我是否将它添加到'View'它自己而不是标签? – Illep

+0

是的,我相信你正在给'view'加上'uilabel'的手势。所以,是的,你似乎添加到视图&不是标签的手势... –

+0

感谢好友... – harshitgupta

10

手势识别器不会,除非你的工作在标签上设置userInteractionEnabledYES

+0

它的作品,谢谢 –