【发布时间】:2014-05-21 22:13:05
【问题描述】:
我在使用手势时遇到了一些麻烦。让我解释: 我得到了一个视图,其中包含一个 UIImageView 作为背景,一个 UIImageView 在背景上。在这个背景的图像视图中,我添加了一些包含图像和按钮的 UIView,以便用户可以编辑。当我在 ImageView 上编辑这些视图时,一切正常。但是如果我开始在 backgroundView 上编辑这些视图,它就不再起作用了。让我们展示一些图片来帮助您理解:
在此编辑视图工作正常
不工作
所有三个按钮都有自己的手势识别器。 这是因为视图不再在超级视图中而不起作用吗?我是否必须将视图添加到 self.view 而不是 imageView 才能识别每个手势?
【问题讨论】:
-
如果视图超出其父视图的范围,它们不会响应触摸,因此您关于它为什么不工作的假设是正确的。
-
在这种情况下,有没有办法强制这个视图响应这个手势?因为我仍然可以移动视图,即使它超出了图像视图的范围,但是按钮(关闭、调整大小和旋转)不再响应
-
您可以将其移出超级视图,因为原始触摸发生在超级视图内。如果你在superview之外时抬起手指,你能再次移动它吗?我猜不是。据我所知,唯一的解决方案是按照您的建议将该视图添加到 self.view 中。
标签: ios objective-c uiimageview uigesturerecognizer