【发布时间】:2014-09-26 16:50:37
【问题描述】:
我正在尝试加载UIView,然后立即检测对该新视图的触摸。目前,覆盖 touchesBegan 会产生大约一秒的延迟。
所以,我加载了UIView 并立即继续点击屏幕。调用touchesBegan 大约需要一秒钟。从那时起,一切都很好。但是,我无法承受最初的~第二次等待。
我已将UIView 中的所有代码剥离为仅是准系统,以防有任何东西阻塞了主线程,但延迟仍然存在。
如何从新提交的UIView 获得即时反馈?谢谢。
-- 在下面编辑--
过去几个小时我一直在玩这个。即使创建自定义UIWindow 并覆盖sendEvent,当显示新视图时UITouchPhase 也会停止。要再次开始接收事件,我必须将手指从屏幕上移开并将其放回屏幕上。 (我不想这样做)。
问题似乎在于新视图控制器的转场。当它继续时,触摸阶段就结束了。如果我只是将子视图添加到当前视图控制器,我会看到所需的功能(即即时响应触摸)。
鉴于我新呈现的视图包含很多逻辑,我想将其全部包装在它自己的视图控制器中,而不是将其添加到演示者视图控制器中。有没有办法让我这样做并使用“addSubview”来展示它?这应该有望达到预期的效果。
【问题讨论】:
标签: ios uiview touchesbegan