2010-10-15 94 views
1

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

1)hitTest:应该立即返回,所以我不能延迟触摸拥有者的决心。
2)我们不能以编程方式稍后取消触摸事件。没有这样的api。
3)我试图覆盖sendEvent:方法,但它没有帮助。必须致电[super sendEvent:]才会将事件发送至意外视图。而且,当调用sendEvent:时,命中测试已经完成,我们不能在以后更改UITouch.view的值。

所以问题是,是否有可能在不使用UIScrollView的情况下自定义UIScrollView包括触摸处理行为?

在此先感谢!

+0

真正的问题是:值得这么麻烦吗? – 2011-06-14 21:16:49

回答

0

有一点需要记住的是,用于常规UIScrollViews的gestureRecognizers(平移和缩放)是私有属性,直到iOS 5.0发布。我想当他们公开时,你可以将它们转移到你自己的滚动视图中。