How to Cancel Scrolling in UIScrollView(如何在 UIScrollView 中取消滚动)
问题描述
我使用 UIScrollView 在 iPhone 上制作大尺寸(大于 320 像素)的 UI.
I use UIScrollView to make large-sized (larger than 320px) UI on iPhone.
我创建了一个 UIScrollView 实例并在其上添加了一些子视图.问题是我只想在用户触摸子视图之外时启用滚动,当用户触摸其中一个子视图时停止滚动.
I made an instance of UIScrollView and added some subviews on it. The problem is that I want to enable scrolling only when user touches outside of subviews, stop scrolling when user touches one of subviews.
我阅读了文档并尝试查找示例,但找不到好的提示.如果您有任何想法,请帮助我.
I read documents and tried to find samples but I can't find good hint. If you have any idea, please help me.
推荐答案
如果你想检测 UIScrollView 的任何子视图内的触摸,你必须继承 UIScrollView 并覆盖 touchesShouldBegin
和touchesShouldCancelInContentView
专门为此目的创建的方法.
If you want to detect touches inside any of the subviews of the UIScrollView, you will have to subclass UIScrollView and override the touchesShouldBegin
and touchesShouldCancelInContentView
methods which are specifically created for this purpose.
除此之外,您无法识别子视图中的触摸,因为 UIScrollView 倾向于自行处理所有触摸并且不会将它们传递给其子视图.
Other than this, there is no way you can identify touches in the subviews as UIScrollView tends to handle all touches itself and doesn't pass them to its subviews.
一切顺利.
这篇关于如何在 UIScrollView 中取消滚动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在 UIScrollView 中取消滚动
基础教程推荐
- 如何在 UIImageView 中异步加载图像? 2022-01-01
- UIWebView 委托方法 shouldStartLoadWithRequest:在 WKWebView 中等效? 2022-01-01
- android 应用程序已发布,但在 google play 中找不到 2022-01-01
- 如何让对象对 Cocos2D 中的触摸做出反应? 2022-01-01
- 在 gmail 中为 ios 应用程序检索朋友的朋友 2022-01-01
- Android:对话框关闭而不调用关闭 2022-01-01
- 如何在没有IB的情况下将2个按钮添加到右侧的UINavigationbar? 2022-01-01
- 如何在 iPhone 上显示来自 API 的 HTML 文本? 2022-01-01
- 当从同一个组件调用时,两个 IBAction 触发的顺序是什么? 2022-01-01
- Kivy Buildozer 无法构建 apk,命令失败:./distribute.sh -m “kivy"d 2022-01-01