UIResponder和事件传递的另一个问题
|
我正在尝试实现UIResponder对象,该对象将允许我记录屏幕活动,然后将事件传递给下一个响应者,以允许应用程序正常进行。我已经研究了一段时间,看到了两种可行的方法:要么创建一个根视图,要么忽略位于其顶部的子视图中的接触,从而允许根视图处理它们。或创建一个GestureRecognizer,将其添加到所有子视图中。我的应用程序具有多个在主窗口中交换和交换的视图。
我已经尝试了这两种方法,但最终陷入了同样的僵局:我在视图(或Recognizer)中得到了touchesBegan / touchesMoved / touchesEnded事件,但是当我将它们沿着响应者链发送时,却没有任何反应。我已经尝试了以下所有方法。请注意,\'view \'是从touch.view派生的,而view.superview是我的\'loginView \'对象,其中包含被点击以将我带到这里的按钮:
[view hitTest:frame.origin withEvent:event];
[view touchesBegan:touches withEvent:event];
[view.superview hitTest:frame.origin withEvent:event];
[view.superview touchesBegan:touches withEvent:event];
[[view nextResponder] touchesBegan:touches withEvent:event];
[[view nextResponder] hitTest:frame.origin withEvent:event];
[[[view superview] nextResponder] touchesBegan:touches withEvent:event];
[[view superview] hitTest:frame.origin withEvent:event];
这些都不起作用,实际上\'[[view nextResponder] hitTest ... \'会生成警告。
我曾经尝试过resignFirstResponder,甚至打算尝试一个sendAction,但此时我只是想抓住稻草。我尝试将我的观点放在链的底部和顶部,并获得相同的结果。显然我缺少了一些东西,但看不到。
谁能告诉我下一步的方法吗?
-山姆
没有找到相关结果
已邀请:
1 个回复
誓猎贰