将图像分割为多个区域



我有一个带有imageview和下面的tableview的视图。imageview包含一个人体图像。现在我想做的是将图像分为三部分:头部、胸部和腹腔。tableview还有三行,每一行都对应于上面提到的主体部分。当我选择或单击这些区域中的任何一个时,我希望在表的相应行中滚动,并导航到另一个视图控制器,该控制器将用作局部视图控制器。假设我选择了head,我想导航到另一个详细解释head的页面。当我选择任何一行时,都会得到同样的效果。

您可以使用附加到图像视图的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

相关内容

  • 没有找到相关文章