【问题标题】:React Native change status bar text color in iOS在 iOS 中 React Native 更改状态栏文本颜色
【发布时间】:2019-03-10 15:33:39
【问题描述】:

我正在使用 React Native 开发应用程序,我被要求将状态栏的文本颜色设置为白色。

我使用了带有属性 barStyle="light-content" 的 StatusBar 组件,它在 Android 上运行良好,但在 iOS 上却不行,文本颜色仍然是黑色。

我对此进行了一些研究,但找不到任何有用的信息。我什至尝试在 XCode like the following picture shows 上选择 Light Status bar 样式,但它仍然不起作用

【问题讨论】:

  • 试试这个可能对你有帮助:github.com/RNRF/react-native-router-flux/issues/2882
  • @Kuldeep 我在写这篇文章之前已经检查了那个链接,它并没有真正帮助我,我现在正在尝试很多东西,但我仍然卡住了
  • @Fabrizio 你应该将你的解决方案写成答案并接受它,这样其他人就可以很容易地看到这个问题的解决方案(回答你自己的问题感觉很奇怪,但这是 Stack Overflow 上的常见做法)。
  • @MateiRadu 注意到了!

标签: ios react-native statusbar textcolor


【解决方案1】:

我解决了这个问题! 我在索引页面中使用此代码并将文本颜色设置为白色:

<StatusBar  barStyle="light-content" translucent={true} />

【讨论】:

    【解决方案2】:

    尝试将此代码放入 AppDelegate 文件中的 didFinishLaunchingWithOptions 中。

    UIApplication.shared.statusBarStyle = .lightContent
    

    目标c

     [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
    

    并在您的 info.plist 文件中将 UIViewControllerBasedStatusBarAppearance 设置为 NO

    【讨论】:

    • 我试过你的代码,但是当我在 React Native 中开发时,AppDelegate 文件是用 Objective C 编写的,我试图找到用 Objective C 编写的类似代码行,但我真的很挣扎有了它,到目前为止它还没有工作
    • 在 Objective C 中 setStatusBarStyle 已被弃用,我仍然尝试了那行代码,但状态栏的文本颜色仍然是黑色,我认为 React Native 正在接管该代码,遗憾的是我没有不知道该怎么办。我也忘了在我的第一篇文章中提到,只有一个文本颜色为白色的视图,一旦我转到另一个视图,它就会切换到黑色,当我回到“白色文本颜色视图”时,它不再是白色了但是黑色,真的很混乱。
    【解决方案3】:

    我的问题解决了!

    问题来自一个名为 React Native Navbar 的 React Native 库,它也控制了状态栏,我必须在该组件中设置“light-content”属性。

    【讨论】:

      【解决方案4】:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-14
        • 1970-01-01
        • 2016-03-08
        • 2022-08-19
        • 2019-01-13
        相关资源
        最近更新 更多