UIGestureRecognizer
如何在内部运作?是否可以在iOS中模拟它< 3.2〜
答案 0 :(得分:1)
如果您想详细解释它们的工作方式,那么值得观看去年WWDC的this video
。
答案 1 :(得分:1)
有关详细信息,请参阅Deepak提及的视频,但是,如果您愿意,可以自行构建。
请务必首先问自己几个问题:您是否想要重新创建整个识别器“框架”,或者只是能够识别滑动?如果是后者,那么在使用普通触摸事件处理程序检测滑动的前3.2天内,网上应该有大量示例。
如果你真的想重新创建框架,你可以,它实际上是一种有趣的练习。 UIKit对象在早期阶段确实有一些钩子进入事件管道,但是你可以通过跟踪触摸并构建识别器对象的管道来获得类似的结果。如果您在UIGestureRecognizer上read the docs,您会看到他们使用的状态管理非常明确。您可以复制它,然后只构建自己的自定义MyPanGestureRecognizer,MySwipeGestureRecognizer等,它们来自MyGestureRecognizer库。你应该有一些UIView子类(MyGestureView)处理所有的触摸,并使用文档中隐含的状态机运行其MyGestureRecognizers列表。