如何在 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 外滚动?的主要内容,如果未能解决你的问题,请参考以下文章

UIScrollView 并取消缩放捏合手势

当我的 UIPanGestureRecognizer 与 UIScrollView 一起发生时,如何取消其他事件?

如何更改 UIScrollView Xcode 的 ContentOffSet

iOS:如何在 UIScrollView 中显示长文本?

如何在 IO (Xamarin.IO) 中动态启用和滚动 UIScrollView?

如何在 iOS 中使用 UIImageview 添加 UIScrollview 的页面控件