本文介绍了如何取消滚动UIScrollView的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用UIScrollView在iPhone上制作大尺寸(大于320像素)的UI。



我做了一个UIScrollView的实例,并添加了一些子视图。
问题是,我只想在用户触摸子视图之外时启用滚动,
在用户触摸其中一个子视图时停止滚动。



阅读文档,并试图找到样品,但我找不到好的提示。
如果你有任何想法,请帮助我。

解决方案

如果你想检测任何子视图的UIScrollView,你必须子类化UIScrollView并覆盖为此目的专门创建的 touchesShouldBegin touchesShouldCancelInContentView 方法。



除此之外,没有办法在子视图中识别触摸,因为UIScrollView本身倾向于处理所有触摸,不会将它们传递给它的子视图。 / p>

最好。


I use UIScrollView to make large-sized (larger than 320px) UI on iPhone.

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.

解决方案

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.

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.

All the best.

这篇关于如何取消滚动UIScrollView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-19 21:41