我一直在研究各种方法来对我正在构建的应用程序的触摸事件进行编程响应,我对我正在阅读的内容有点困惑。
据我所知,iOS 中有两种普遍接受的响应触摸的方法:手势识别和触摸识别。
什么时候适合使用其中一种?
专门针对我正在构建的内容*:
我正在为需要在用户触摸的屏幕上放置项目(UIImageViews)并在用户拖动时移动它们的视图编写控制器。控制器正在与一个单独的模型通信,因此我需要精细控制在触摸事件期间何时向模型发送消息。
模型需要知道用户第一次触摸屏幕的位置(未启用多点触控)以及用户离开屏幕的位置。我需要在用户第一次触摸时查询模型,以了解用户是否打算编辑图像视图的位置或创建新的图像视图,并且我需要向模型发送有关用户从屏幕上抬起的位置的消息,所以模型可以更新。在拖动事件期间,我还需要向模型发送持续查询,以确定用户在任何给定时刻悬停的位置是否有效。
起初我以为我可以使用平移手势识别器来完成这项工作,但当我进一步研究它时,我无法找到一种方法来设置在触摸、拖动和抬起时的自定义函数调用事件(如果有办法,很高兴知道)。我找到了 UIResponder 方法,但这些方法仍然可以使用,还是最好只使用 iOS6 中的手势识别器?
* 代码不包括在内,因为这个问题的范围相当大,我不想用不必要的细节分散人们的注意力。