How to set iOS status bar background color in React Native? How to set iOS status bar background color in React Native? ios ios

How to set iOS status bar background color in React Native?


iOS doesn't have a concept of a status bar bg. Here's how you'd achieve this in a cross-platform way:

import React, {  Component,} from 'react';import {  AppRegistry,  StyleSheet,  View,  StatusBar,  Platform,  SafeAreaView} from 'react-native';const MyStatusBar = ({backgroundColor, ...props}) => (  <View style={[styles.statusBar, { backgroundColor }]}>    <SafeAreaView>      <StatusBar translucent backgroundColor={backgroundColor} {...props} />    </SafeAreaView>  </View>);class DarkTheme extends Component {  render() {    return (      <View style={styles.container}>        <MyStatusBar backgroundColor="#5E8D48" barStyle="light-content" />        <View style={styles.appBar} />        <View style={styles.content} />      </View>    );  }}const STATUSBAR_HEIGHT = StatusBar.currentHeight;const APPBAR_HEIGHT = Platform.OS === 'ios' ? 44 : 56;const styles = StyleSheet.create({  container: {    flex: 1,  },  statusBar: {    height: STATUSBAR_HEIGHT,  },  appBar: {    backgroundColor:'#79B45D',    height: APPBAR_HEIGHT,  },  content: {    flex: 1,    backgroundColor: '#33373B',  },});AppRegistry.registerComponent('App', () => DarkTheme);

simulator


Add import { StatusBar } from 'react-native'; to the top of your app.js and then add StatusBar.setBarStyle('light-content', true); as the first line in your render() to change the status bar text/icons to white.

The other color options are 'default' and 'dark-content'.

Refer to https://facebook.github.io/react-native/docs/statusbar.html for further info.

Other than that: no, you would have to follow the link you provided.


If you are using react-native-navigation, you need to:

1-) Add this to your info.plist file:

<key>UIViewControllerBasedStatusBarAppearance</key><string>YES</string>

2-) At first line of your render() function, eg:

  render(){    this.props.navigator.setStyle({      statusBarTextColorScheme: 'light'    });    return (      <Login navigator={this.props.navigator}></Login>    );  }

This example will transform your status bar to light text/buttons/icons color.enter image description here