【问题标题】:React Native Keyboard Dismiss has a Delay with grey areaReact Native Keyboard Dismiss 有灰色区域的延迟
【发布时间】:2021-06-06 21:40:44
【问题描述】:

在 React Native 应用程序中,我实现了关闭键盘。但是,当键盘从滚动视图中消失时,会出现延迟,并且在键盘消失之前会出现一个灰色区域。我怎样才能避免这种情况发生?

【问题讨论】:

  • 如果您提供一些代码会很有帮助,以便我们找出问题所在。
  • 看来您可能有性能问题,请分享您的代码以向其他人进行更多说明。

标签: javascript android ios react-native


【解决方案1】:

灰色区域看起来像被选中的 tableViewCell。 要快速更改 selectionStyle,它将是:cell.selectionStyle = .blue.none 延迟有点困难。我会确保我在设备上运行以对其进行测试,并确保从主线程调用关闭键盘的函数。

【讨论】:

    【解决方案2】:

    我正在处理一个类似的问题,当keyboardWillHide 事件触发时,我最终在我的包装视图上设置了height

    大部分基本代码如下:

      useEffect(() => {
        const showSubscription = Keyboard.addListener("keyboardDidShow", (keyboardEvent) => {
          const screenHeight = Dimensions.get("window").height;
          const keyboardHeight = keyboardEvent.endCoordinates.height;
          setContainerStyle({
            height: screenHeight - keyboardHeight,
          });
        });
        const hideSubscription = Keyboard.addListener("keyboardWillHide", () => {
          setContainerStyle({
            height: "100%",
          });
        });
    
        return () => {
          showSubscription.remove();
          hideSubscription.remove();
        };
      }, []);
    

    希望对您有所帮助?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-10
      • 2016-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多