我的视图下面有一个imageview和一个tableview。 imageview包含人体图像。现在我想做的是将图像分成三个部分:头部,胸部和腹腔。 tableview还有三行,每行对应于上面提到的主体部分。当我选择或单击这些区域中的任何一个时,我想滚动表格的相应行并导航到另一个视图控制器,它将用作详细视图控制器。所以,让我说我选择头部,我想导航到另一个详细解释头部的页面。当我选择任何行时,我得到相同的效果。
答案 0 :(得分:1)
您可以使用附加到图像视图的UITapGestureRecognizer
实例轻松完成此操作。首先,您必须将UIImageView
的{{1}}设置为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
。