2011-06-24 89 views
0

我有一个视图,它下面有一个imageview和一个tableview。 imageview包含人体图像。现在我想做的是将图像分成三部分:头部,胸部和腹腔。 tableview也有三行,每一行对应于上面提到的正文部分。当我选择或点击这些区域中的任何一个时,我想滚动表格的相应行并导航到另一个viewcontroller,它将作为一个详细视图控制器。所以我们说我选择头部,我想导航到另一个详细解释头部的页面。当我选择任何行时,我会得到相同的效果。将图像分成区域

回答

1

您可以使用连接到图像视图的UITapGestureRecognizer实例轻松完成此操作。首先,您必须将UIImageViewuserInteractionEnabled设置为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 (...) { 
    .... 

或者,如果区域是一个比较复杂一点,使用UIBezierPathCGPathRef