Touch Up Inside for a UIImageView

2019-03-17 23:18发布

I'm trying to implement touch event similar to a Touch Up Inside a UIButton. I've seen some codes using touchesBegan:withEvent but it looks I need to slide a bit my finger over the screen. I actually just want to touch in the image

Code:

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

Regards!

2条回答
【Aperson】
2楼-- · 2019-03-18 00:00

UIImageView is notorious regarding this as its userInteractionEnabled is set to NO by default. You will have to enable it by doing

imageView.userInteractionEnabled = YES;

And then you can use gesture recognizers or the normal touches* methods to handle touches.

查看更多
We Are One
3楼-- · 2019-03-18 00:09

You could use the gesture to get the touch on 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];

Implement the ClickEventOnImage function.

-(void) ClickEventOnImage:(id) sender
{

}
查看更多
登录 后发表回答