2012-01-25 5 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:またジャスティン・ポイントとして、そのようなラベルのためYESuserInteractionEnabledを設定してください - ジェスチャー認識は、あなたがない限り動作しません[self.myLabel setUserInteractionEnabled:YES];

+0

「そのラベルのスーパービューに追加する」とはどういう意味ですか?ラベルではなく、 'View'にそれを追加していますか? – Illep

+0

はい私はあなたが 'uilabel'を持っている' view'にジェスチャーを追加していると思います。だからあなたはビューに&ジェスチャーを追加するように見えるラベル& –

+0

ありがとうバディ... – harshitgupta

10

ラベルのuserInteractionEnabledYESに設定してください。

+0

それは、ありがとう –

関連する問題