2012-01-25 36 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

它的作品,謝謝 –