iphone - UIScrollView 事件处理

标签 iphone ios uiscrollview

出于某种原因,我正在尝试制作自己的自定义 UIScrollView。问题是,是否可以完全模仿 UIScrollView 的事件处理行为,包括“延迟内容触摸”和“可取消内容触摸”?也就是说,自定义 ScrollView 应该延迟处理事件,直到它可以确定滚动是否是意图,并且它还应该能够稍后取消其 subview 的触摸。问题如下:

1) hitTest: 应该立即返回所以我不能延迟触摸所有者的确定。
2) 我们以后无法以编程方式取消触摸事件。没有这样的api。
3) 我试图覆盖 sendEvent: 方法,但没有帮助。必须调用 [super sendEvent:] 会将事件发送到非预期的 View 。此外,在调用sendEvent: 时已经完成了 HitTest ,以后我们无法更改UITouch.view 的值。

那么问题又来了,是否可以在不使用 UIScrollView 的情况下制作自定义 UIScrollView,包括它的触摸处理行为?

提前致谢!

最佳答案

要记住的一件事是,在 iOS 5.0 发布之前,用于常规 UIScrollView 的 gestureRecognizers(平移和缩放)是私有(private)属性。我想当它们公开时,您可以将它们转移到您自己的 ScrollView 中。

关于iphone - UIScrollView 事件处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3939116/

相关文章:

iphone - 为什么我的 UIViewController 不在其 View 的响应者链中?

c++ - 如何在 OpenCV 中将点传递给 cvFitEllipse2

objective-c - UIImagePickerController 叠加自动旋转

ios - Firebase App Distribution 的开发者资料

ios - 如何在选项卡栏 Controller 中更新选项卡 View

iphone - 如何确定键盘是否隐藏了 subview ......?

iphone - 从 UITableView 的子类访问 UIScrollViewDelegate

iphone - UIViewController 的两种方式关系

iphone - 如何在 iOS 中创建一个后台线程,该线程在应用程序从 View 中隐藏后继续

ios - 在 Swift 中执行后台保存