Вы можете легко сделать это, используя экземпляр UITapGestureRecognizer
, прикрепленный к представлению изображения.Прежде всего, вам нужно установить UIImageView
s userInteractionEnabled
на YES
.После подключения распознавателя жестов вы должны разрешить касание в его области в обработчике жестов.
- (void)tap:(UITapGestureRecognizer *)tapGesture {
CGPoint locationInView = [tapGesture locationInView:tapGesture.view];
/* Resolve the location here */
}
Теперь разрешение основано на том, как вы будете определять регионы.Если они просто прямоугольники, объявите три CGRect
объекта в качестве переменных экземпляра и установите их соответствующим образом и сделайте что-то вроде этого,
if ( CGRectContainsPoint(headRect, locationInView) ) {
/* It's a head, load its view controller */
} else if ( ... ) {
....
Или, если регионы немного сложнее, используйте UIBezierPath
или CGPathRef
.