UIScrollview 子视图在缩放后无法识别平移手势

Posted

技术标签:

【中文标题】UIScrollview 子视图在缩放后无法识别平移手势【英文标题】:UIScrollview subviews not recognizing pan gesture after zooming 【发布时间】:2015-11-08 07:27:20 【问题描述】:

我有一个滚动视图,我在其中添加了一个图像视图作为子视图。滚动视图的内容大小与图像视图的大小(宽度和高度)相同。滚动视图外有两个按钮。当我单击它们中的任何一个时,都会将一个小矩形视图作为子视图添加到图像视图中。添加后,用户可以将这个矩形视图拖到 imageview 上的任意位置。

这工作正常,直到我捏缩放滚动视图。在 viewForZoomingInScrollView: 方法中,我返回 imageview 并且缩放工作正常。但是在缩放视图中,当我尝试在矩形视图周围拖动时,它不会移动。它不再识别平移手势。知道为什么会这样吗?

这个可拖动视图太小了,我必须改变它的位置,所以我将滚动视图缩放到可触摸视图。

【问题讨论】:

gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer: 怎么样? 谢谢 Mejdi,我试过了,但还是不行…… 【参考方案1】:

我认为你应该这样做: 缩放完成时通知代理calling:scrollViewDidEndZooming:withView:atScale: 在这种方法中,您可以更新矩形可以移动或可能是其他东西的视图的父视图.....但是您必须在此方法中更新某些内容....请将您的特定代码放在问题所在。

【讨论】:

以上是关于UIScrollview 子视图在缩放后无法识别平移手势的主要内容,如果未能解决你的问题,请参考以下文章

具有水平缩放的 UIScrollView - 在子视图中绘制的贝塞尔路径模糊

iPhone:如何在捏缩放uiscrollview时重绘子视图

缩放嵌套在 UIScrollView 中的子视图

UIScrollView 子视图在缩放下不保持正确的边界尺寸

在缩放 UIScrollView 子视图时保持恒定的线宽

iOS Swift 4:UIScrollView 中的 UIView