Claudio
Claudio

Reputation: 2037

Touch Up Inside for a UIImageView

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!

Upvotes: 23

Views: 20599

Answers (2)

Deepak Danduprolu
Deepak Danduprolu

Reputation: 44633

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.

Upvotes: 6

Jhaliya - Praveen Sharma
Jhaliya - Praveen Sharma

Reputation: 31722

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
{

}

Upvotes: 51

Related Questions