【发布时间】:2017-10-18 16:58:33
【问题描述】:
我们构建了一个 React Native 平板电脑信息亭应用程序,该应用程序向前台的用户显示多页输入字段。用户必须填写所有表格并在最后发送。
用户可以随时离开信息亭,这将导致他们的最后一个屏幕成为下一个用户的“欢迎屏幕”。为避免这种情况,如果没有用户交互(屏幕上的任何触摸事件),应用会在一段时间后重置。
现在,我们使用倒计时并在每个输入字段、按钮和背景触摸上重置它。这导致将重置回调传递给许多组件。它可以工作,但它只是很多冗余,很容易导致错误。
有什么办法,我们可以在view的最顶端添加一个overlay,它可以捕获所有的触摸事件并调用reset回调,还可以将触摸事件传递给下面的views?因此,当用户单击按钮时,叠加层会调用其回调,但按钮也会被单击(对于输入字段等也是如此)。
我们也尝试过 Gesture Responder System,但无法让触摸事件通过 - 它总是被带有 Gesture Responder System 的组件消耗。
【问题讨论】:
标签: react-native touch overlay touch-event