【问题标题】:React-native app black screen when using storyboard使用情节提要时反应本机应用程序黑屏
【发布时间】:2020-05-23 02:35:41
【问题描述】:

所以基本上我正在为 iPhone 和 iPad 制作一个通用应用程序(也适用于 Android,但这不是这里的问题)并且问题开始我在 iPad pro 中运行它,它在顶部和底部显示黑色边距屏幕就像是旧 iPad。

The margin issue screenshot

一些快速研究揭示了以下内容:

  • 根据Apple,要使用iPad Pro全屏尺寸,目标SDK必须至少设置为12.1
  • 另外,根据 Apple 的说法,我必须设置故事板而不是使用 xib 文件

将 SDK 版本设置为 12.1 没有问题,但是当我将启动屏幕设置为新创建的情节提要时,React Native 应用程序只显示绿色的“加载”栏和其他 React-Native 调试覆盖内容。但是,它确实会用错误消息填满整个屏幕,我认为这是一件好事。

但是当应用程序完成加载时(根据远程调试器,它似乎运行良好),只是一个黑屏。

Well, at least the errors are fullscreen I guess

我花了很多时间试图弄清楚到底发生了什么,但没有成功,我找不到太多关于 react-native 上的 iPad pro 应用程序或在 react-native 中使用故事板的信息。

我尝试按照here 的答案进行操作,但也无法正常工作...

我还尝试关注 this 以使用故事板进行原生反应,但没有成功。

我还尝试了上百万种不同的东西,直到我想不通为止。

我的印象是 react-native 不会针对新视图来绘制实际的 JS 渲染内容,因此没有任何反应。

所以...

我怎样才能让应用程序在完整的 iPad Pro 显示屏上运行或让 react-native 与故事板一起工作?设置时我做错了什么?我是否需要为 RN 或类似的东西创建和定位一个新的根视图?

我很想弄清楚这一点,任何帮助将不胜感激。请指出我是否遗漏了一些非常明显的东西。

附言。我不确定这是否重要,但可能值得注意的是我正在使用 react-native-navigation

谢谢!

【问题讨论】:

    标签: xcode react-native ipad react-native-navigation


    【解决方案1】:

    尝试将启动屏幕设置为情节提要似乎无关,不是吗?您似乎正在尝试全屏显示包含 RN 应用程序的窗口,而启动屏幕只是一个启动屏幕。

    我要检查的一件事是您的 AppDelegate.m(在 ios/ 目录中)是否包含类似于以下内容的行:

    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    

    我认为这是为 js 捆绑的 react native 应用程序设置框架的原因。如果边界设置不正确,可能会导致非全屏问题。

    我的另一个建议是尝试使用React Native Debugger 查看 React 中是否有任何有用的调试日志。 (很基本的建议,我知道,但如果你没有检查它可能会有用)

    附:我知道这不是真正的答案,但 StackOverflow 不会让我发表评论以澄清您的问题。

    【讨论】:

    • 感谢您的回答!终于按照我自己的回答解决了
    【解决方案2】:

    在为此挣扎了几个小时后,我终于解决了这个问题:

    https://github.com/wix/react-native-navigation/issues/4580#issuecomment-482669978

    这确实与 react-native-navigation 有关。

    我不敢相信它什么时候真正起作用了!

    希望这可以帮助某人在将来节省一些时间

    【讨论】:

      猜你喜欢
      • 2023-03-18
      • 2023-01-05
      • 1970-01-01
      • 1970-01-01
      • 2022-12-10
      • 1970-01-01
      • 2017-10-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多