首页 > 解决方案 > 在 React Native 中更改状态栏颜色

问题描述

在 React Native 中,我试图将状态栏设置为“浅色内容”,以便在较暗的背景下更明显。为此,我使用了 ,但是当我运行代码时,出现以下错误:


RCTStatusBarManager module requires that the                 UIViewControllerBasedStatusBarAppearance key in the Info.plist is set to NO
-[RCTStatusBarManager setStyle:animated:]
    RCTStatusBarManager.mm:157
__invoking___
-[NSInvocation invoke]
-[NSInvocation invokeWithTarget:]
-[RCTModuleMethod invokeWithBridge:module:arguments:]
facebook::react::invokeInner(RCTBridge*, RCTModuleData*, unsigned int, folly::dynamic const&)
facebook::react::RCTNativeModule::invoke(unsigned int, folly::dynamic&&, int)::$_0::operator()() const
invocation function for block in facebook::react::RCTNativeModule::invoke(unsigned int, folly::dynamic&&, int)
_dispatch_call_block_and_release
_dispatch_client_callout
_dispatch_main_queue_callback_4CF
__CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__
__CFRunLoopRun
CFRunLoopRunSpecific
GSEventRunModal
-[UIApplication _run]
UIApplicationMain
main
start
0x0

我进入 info.plist 页面并根据错误消息将 UIViewControllerBasedStatusBarAppearance 设置为 false ,但这仍然没有做任何事情。

标签: androidiosreact-nativeuistatusbarreact-typescript

解决方案


在 iOS 上,您只能通过https://reactnative.dev/docs/statusbar#barstyletheme更改StatusBar

在 Android 上,您可以使用backgroundColor道具https://reactnative.dev/docs/statusbar#backgroundcolor-android


推荐阅读