UIScrollView 内的绘图视图

Posted

技术标签:

【中文标题】UIScrollView 内的绘图视图【英文标题】:Drawing view inside UIScrollView 【发布时间】:2011-05-22 17:28:32 【问题描述】:

我有一个视图,您可以使用它进行手指绘图。它目前在 UIScrollView 中。虽然它可以绘制,但它非常有问题,因为当我在绘制时,ScrollView 会上下滚动,所以如果触摸在该视图内,如何让滚动视图停止滚动? 谢谢。

这就是我需要滚动视图的原因,它包含一堆内容,最后,用户登录自定义视图。

【问题讨论】:

【参考方案1】:

您可以在UIScrollview 内的自定义视图中放置一个自定义按钮。如果按下按钮,则将UIScrollViewscrollingEnabled 属性设置为OFF。请记住在用户释放按钮时将其设置为 ON。

【讨论】:

【参考方案2】:

如果你不想使用scrollView进行滚动,你为什么要使用它?

听起来你应该删除它并继承 UIView。你能提供更多关于你试图用 UIScrollView 做什么的信息吗?


好的,我明白了。您可以在签名框中有触摸时关闭 scrollingEnabled 属性,并在此人完成签名后重新打开它。

我认为这是最自然的方法。

【讨论】:

感谢您的回复。我需要 customview 在 UIScrollview 中。我想使用 UIScrollView。当用户在我的自定义视图所在的屏幕部分进行交互时,我只是不希望 UIScrollView 滚动。 你用scrollView干什么? 滚动浏览内容,1 秒后,我会将图片放在我的问题中,以便您了解我为什么需要它。【参考方案3】:

我使用滚动视图的次数超出了我的预期。相信我,根据经验,试图控制其滚动和拦截手势只是自找麻烦。当用户在滚动视图内签名时,将自定义签名视图从滚动视图内移动到带有取消/完成按钮的自定义(可能还有全屏)对话框。

您的用户会感谢您提供更大且更简单的签名空间,并且该解决方案在未来应该会更好地工作,并且不会依赖滚动视图来让您跟踪其中的触摸。

【讨论】:

以上是关于UIScrollView 内的绘图视图的主要内容,如果未能解决你的问题,请参考以下文章

UiScrollView 高度不正确(没有 AutoConstraint)

限制UIScrollView中的可滚动区域

在 UIScrollview 中禁用对角线拖动

UIscrollView 上的绘图视图需要无限缩放

缩放和重绘 UIScrollView 内容后设置 contentOffset

子视图内的 UIScrollview 高度动态变化