web-dev-qa-db-ja.com

UIImageViewの内側をタッチアップ

Touch Up Inside a UIButtonに似たタッチイベントを実装しようとしています。 touchesBegan:withEventを使用したコードを見たことがありますが、画面上で指を少しスライドさせる必要があるようです。実は画像をタッチしたいだけです

コード:

- (void) touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event {   
    NSLog(@"Image touched!");
}

よろしく!

23
Claudio

gestureを使用して、UIImageViewに触れることができます。

UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc]
                         initWithTarget:self action:@selector(ClickEventOnImage:)];
        [tapRecognizer setNumberOfTouchesRequired:2];
        [tapRecognizer setDelegate:self];
        //Don't forget to set the userInteractionEnabled to YES, by default It's NO.
        myImageView.userInteractionEnabled = YES;
        [myImageView addGestureRecognizer:tapRecognizer];

ClickEventOnImage関数を実装します。

-(void) ClickEventOnImage:(id) sender
{

}
48
Jhaliya

UIImageViewは、そのuserInteractionEnabledがデフォルトでNOに設定されているため、これに関して悪名高いです。実行して有効にする必要があります

imageView.userInteractionEnabled = YES;

次に、ジェスチャレコグナイザーまたは通常のtouches*メソッドを使用してタッチを処理できます。

6