当前位置:  开发笔记 > 运维 > 正文

如何取消UIScrollView中的滚动

如何解决《如何取消UIScrollView中的滚动》经验,为你挑选了4个好方法。

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

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

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



1> Stephen Darl..:

UIScrollView有一个scrollEnabled属性,允许您以编程方式禁用滚动.它还有一个委托(UIScrollViewDelegate),允许您查看滚动开始/结束等事件.似乎你应该能够以某种方式结合这些选项来烹饪.


很好的答案,模糊但足以开始.+1

2> Dan Rosensta..:

您真正感兴趣的属性 - 我现在正在测试它,因为我遇到了同样的问题 - 是canCancelContentTouches.

如果此属性的值为NO,则在内容视图开始跟踪后,无论手指移动,滚动视图都不会滚动.

如果这不能提供您想要的结果,则将UIScrollView子类化并覆盖该touchesShouldBegin:withEvent:inContentView方法,这是接受的答案所暗示的.



3> lostInTransi..:

如果要检测UIScrollView的任何子视图内的触摸,则必须子类化UIScrollView并覆盖为此目的专门创建的touchesShouldBegintouchesShouldCancelInContentView方法.

除此之外,您无法识别子视图中的触摸,因为UIScrollView倾向于自己处理所有触摸并且不会将它们传递给其子视图.

祝一切顺利.



4> Dave Verwer..:

要做到这一点,最简单的方法是设置delayContentTouchesNO用于滚动视图。这样,就可以设置默认行为,以便UIControl中的任何内容都可以立即将触摸传递给控件,​​其他所有内容都可以滚动。


如果将其设置为NO,则行为与OP想要的相反。如果将其设置为“是”,那就更好了:)
推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有