在 iOS 上带有 expo 的 react-native statusBar

Posted

技术标签:

【中文标题】在 iOS 上带有 expo 的 react-native statusBar【英文标题】:react-native statusBar with expo on iOS 【发布时间】:2018-06-22 04:35:10 【问题描述】:

我试图在我的 react-native 应用上更改 statusBar 的颜色。

我正在与expo 合作,在他们的文档中,他们只是指定添加: "androidStatusBar": "backgroundColor": "#2E1D59"

这适用于 android,但他们没有提到如何使用 ios statusBar。

有人对此有想法吗?

【问题讨论】:

【参考方案1】:

您无法更改 iOS 状态栏的颜色。

您可以使用 React Native StatusBar 模块将其隐藏,或将文本颜色设置为浅色(白色)或深色(黑色)。

您可以将组件拖放到应用的根组件中:

 <StatusBar barStyle="light-content" /> 

【讨论】:

非常感谢。我希望他们将来会对此提供支持。 这不是 Expo 或 React Native 的限制。 iOS 根本不允许您设置状态栏颜色 - 没有应用程序可以。 其实有个窍门! react-native header 位于 iOS statusBar 的后面,所以如果你将 header 的颜色设置为任何你想要的颜色,你可以让用户觉得它有颜色。 @jevakallio 这不完全正确?在 Swift 中更改状态栏颜色没有问题。 @user2236165 您可以将文本设置为白色或黑色,并且您可以在状态栏后面放置一个元素以使其显示为某种颜色,但实际上是否有用于设置状态栏的 API颜色本身?

以上是关于在 iOS 上带有 expo 的 react-native statusBar的主要内容,如果未能解决你的问题,请参考以下文章

使用 react native 和 expo SQLite 在移动设备、iOS 和 Android 上存储大数据

带有 Expo 的 React-Native Shake 事件检测器

如何在 React Native Expo 中播放背景音乐?

Expo如何获取自动生成的ios证书?

如何使用 expo 实现带有 react-native 的条带? [关闭]

Expo react-native 将无法连接到 socketio(Android 和 iOS)