2015-12-03 38 views
9

Tôi dường như không thể tìm cách thay đổi màu của biểu tượng thanh trạng thái thành màu trắng - ở đầu màn hình, ví dụ: thời gian & pin.Phản ứng gốc: cách thay đổi màu biểu tượng thanh trạng thái

iPhone 6 screenshot

Tôi đã thử thêm sau trong info.plist phong cách thanh

  • Tình trạng: UIStatusBarStyleLightContent
  • Xem điều khiển dựa trên thanh trạng thái xuất hiện: NO

Nhưng dường như chỉ hoạt động trong các phiên bản iOS trước. Bất kỳ giúp đỡ nhiều đánh giá cao.

Trả lời

21

Bạn cần phải sử dụng StatusBarIOS bên trong của bạn Phản ứng thành phần Quê quán:

StatusBarIOS.setStyle('light-content')

Documents ở đây: http://facebook.github.io/react-native/docs/statusbarios.html#content

Chỉnh sửa: Tính đến RN 0.22, StatusBarIOS đã bị phản đối và cross-platform StatusBar nên được sử dụng. Nó vẫn được sử dụng phải nhất thiết như được đề cập ở trên:

StatusBar.setBarStyle('light-content', true);

Tuy nhiên, cách khuyến khích sử dụng thành phần này là khai báo. Ví dụ:

<View> 
    <StatusBar 
    backgroundColor="blue" 
    barStyle="light-content" 
    /> 
    <Navigator 
    initialRoute={{statusBarHidden: true}} 
    renderScene={(route, navigator) => 
     <View> 
     <StatusBar hidden={route.statusBarHidden} /> 
     ... 
     </View> 
    } 
    /> 
</View> 

Xem các tài liệu mới tại đây: http://facebook.github.io/react-native/docs/statusbar.html

+0

Thanks a lot Dave. Điều này làm việc. – londonfed

+0

bất kỳ ý tưởng nào về cách đặt nó trên 'componentDidMount' /' componentWillMount'? Tôi đã thử nó nhưng nó dường như chỉ hoạt động từ một cuộc gọi lại đến một hành động người dùng (tức là onPress trên một Touchable) –

+1

@ S.C. Bạn thực sự có thể gọi nó trong phương thức 'render' của bạn ngay trước khi nó trả về. –

Các vấn đề liên quan