如何在 iOS 中取消 UIScrollView 在三角形 UIView 外滚动?
Posted
技术标签:
【中文标题】如何在 iOS 中取消 UIScrollView 在三角形 UIView 外滚动?【英文标题】:How to cancel UIScrollView scrolling outside triangle shape UIView in iOS? 【发布时间】:2015-04-22 14:35:07 【问题描述】:我有一个三角形的 UIView。然后我将带有 imageview 的 UIScrollView(name A) 添加到 UIView 中。后台还有一个 UIScrollView(name B)。
下面是图片。
我的问题是,当我触摸或滚动到 UIView 的三角形之外时,scrollView (A) 开始滚动。我想在那里滚动 B。 那么如何停止 UIScrollView (A) 的滚动呢?
【问题讨论】:
【参考方案1】:-
为滚动视图A创建一个UIScrollView的子类
覆盖pointInside:withEvent:
如果点在三角形之外则返回
NO
,否则返回YES
【讨论】:
非常感谢。它解决了在路径之外找到触摸的问题。但是顶部滚动视图A仍然发生触摸。我如何将触摸传递给B?这样滚动视图 B 就会滚动。 你在 A 和 B 之间有其他观点吗? 否,但顶部滚动视图 A 覆盖整个屏幕。 滚动视图 B 必须有 UIScrollView 类,而不是你的子类 是的,我已经有了。 B 是 320*480 的背景 scollview,A 是顶部滚动视图,带有 trianlge bazier 路径,大小也为 320*480。我认为我应该将触摸传递给滚动视图 B。但我不知道如何传递?以上是关于如何在 iOS 中取消 UIScrollView 在三角形 UIView 外滚动?的主要内容,如果未能解决你的问题,请参考以下文章
当我的 UIPanGestureRecognizer 与 UIScrollView 一起发生时,如何取消其他事件?
如何更改 UIScrollView Xcode 的 ContentOffSet