A: 

Yes of course but you will find things much easier if you create an invisible UIButton (of type UIButtonTypeCustom) and place it over the UIImageView. It will process a touchUpInside as simply as a button because... it is a button. You can't see it but it can still capture a touch.

Because a UIImageView is a UIView it inherits methods to handle gestures and multi-touch events. Because it is also a UIResponder it inherits useful methods like touchesBegan and family. So you can use those methods to capture events yourself, but the button is the easiest way and is much easier to do in Interface Builder if you prefer to do it that way.

In the method handling the event, the familiar pattern

PriceViewController* priceVC = [[PriceViewController alloc] init];
[self.navigationController pushViewController:priceVC animated:YES];
[priceVC release];

is the rest of what you need.

Adam Eberbach
thanks for your reply.. i thought of that too but when my item is loaded, not all my uiimage will have the picture.. i'm afraid that if the user click other where else, it would crash
Brionac
You can also use touchesBegan:withEvent and touchesEnded:withEvent: to detect taps yourself. You need to then check the points to see if the touch began and ended in your UIImageView, then you can treat it as a touchUpInside.
Adam Eberbach