0

我有一个 UIScrollView 包含一个我可以放大和平移/滚动的图像。我想在这张图片上画一些形状,这样我就可以注意到它的某些部分。我目前已经通过在drawRect.

问题是这样的:假设我在几乎整个图像周围绘制了一个形状,或者说我绘制了许多重叠并占据了几乎整个图像的形状。现在,我无法再缩放或平移/滚动,因为 UIView 与图像重叠并阻止了触摸事件的发生。

例子

有关示例,请参见图像。如果我什么都不做,黄色圆圈会相对无害,因为它不会占用太多图像。只有在那个圈子里接触才会有问题。但是,红场绝对是个问题。该 UIView 显然与大部分滚动视图重叠,这意味着我不会在滚动视图中的图像上获得触摸事件。

我目前正在向 UIImageView 添加触摸事件,这是滚动视图的主要内容。我可以对我添加的每个子视图(形状)执行相同的操作,但是如果我必须确定一个形状上的 1 次触摸加上另一个形状上的 1 次触摸应该像 UIImageView 上的 2 次触摸事件一样处理,那么这将变得非常复杂我可以用捏合手势强制缩放。但这似乎有点矫枉过正(我不知道该怎么做)。

解决此问题的最佳方法是什么?

4

1 回答 1

2

userInteractionsEnabled将用于绘制形状的视图上的属性设置为 NO 应该可以解决问题:触摸事件会忽略无法交互的视图。

于 2013-06-14T13:25:06.603 回答