我试图加载一个UIView
,然后马上检测触及新视图。目前,覆盖touchesBegan
延迟了大约一秒钟。touchesBegin延迟后呈现UIView
因此,我加载了UIView
并立即继续点击屏幕。调用touchesBegan
需要大约一秒钟的时间。从那时起,一切都很好。但是,我无法承受〜第二次等待。
我已经将UIView
中的所有代码都剥离出来,以防止任何东西堵塞主线程,但延迟仍然存在。
如何才能立即获得新提交的触摸反馈UIView
?谢谢。
- 编辑下面 -
我一直在玩弄这在过去的几个小时。即使在创建自定义UIWindow
并重写sendEvent
时,当显示新视图时,UITouchPhase
也会暂停。要再次开始接收事件,我必须将手指从屏幕上取下并放回屏幕上。 (我不想这样做)。
这个问题似乎在于对新视图控制器的延续。当它继续时,触摸阶段结束。如果我只是将子视图添加到当前视图控制器,我会看到所需的功能(即即时响应触摸)。
鉴于我新近出现的视图包含很多逻辑,我想将它全部包装在它自己的视图控制器中,而不是将它添加到演示者视图控制器中。有没有办法让我做到这一点,并使用'addSubview`来呈现它?这应该有希望达到预期的效果。
我在这里遇到了同样的麻烦。 http://stackoverflow.com/questions/33727638/ios-why-touchesbegan-has-some-delay-in-some-specific-area-in-uiview你是如何解决你的麻烦? – TomSawyer 2015-11-16 07:35:14