【发布时间】:2011-10-10 13:01:42
【问题描述】:
我在 UIScrollView 之上有一个透明的 UIView。 UIView 通过检查三个 touchesMoved 事件来确定是否允许滚动视图滚动。事件发生后,我希望视图禁用用户交互,以便滚动发生。用户甚至不应该注意到延迟。
但是,将视图的 userInteractionEnabled 设置为 NO,它会一直声明所有 touchesMoved 事件,直到它被释放。这意味着用户必须在能够滚动之前放开视图。
在视图也被释放之前,使用 hitTest 将不起作用。移动时不会调用 hitTest。
我会将触摸事件发送到 UIScrollView,但它很乐意忽略这些事件,因为它有自己的隐藏触摸处理。
有什么方法可以让 UIView 在不放手的情况下停止声明触摸事件?
【问题讨论】:
-
也许这会有所帮助? stackoverflow.com/questions/4530384/…
-
@mja 我试过 hitTest,但它似乎只在触摸开始时调用,而不是在移动时调用。我将把它添加到问题中。不过还是谢谢。
-
@jamapag:哎呀。那应该是 userInteractionEnabled。我会解决的。谢谢!
标签: objective-c ios uiview