Pertanyaan Cara mengubah warna teks Status Bar di iOS


Aplikasi saya memiliki latar belakang gelap, tetapi di iOS 7 bar status menjadi transparan. Jadi saya tidak bisa melihat apa pun di sana, hanya indikator baterai hijau di sudut. Bagaimana saya dapat mengubah warna teks bilah status menjadi putih seperti pada layar beranda?


926
2017-07-16 14:11


asal


Jawaban:


  1. Mengatur UIViewControllerBasedStatusBarAppearance untuk YES dalam file .plist.

  2. Dalam viewDidLoad lakukan a [self setNeedsStatusBarAppearanceUpdate]; 

  3. Tambahkan metode berikut:

    - (UIStatusBarStyle)preferredStatusBarStyle
    { 
        return UIStatusBarStyleLightContent; 
    }
    

Catatan: Ini tidak berfungsi untuk pengontrol di dalam UINavigationController, silahkan lihat Komentar Tyson di bawah ini :)

Swift 3 - Ini akan bekerja di dalam controller UINavigationController. Tambahkan kode ini di dalam pengontrol Anda.

// Preferred status bar style lightContent to use on dark background.
// Swift 3
override var preferredStatusBarStyle: UIStatusBarStyle {
    return .lightContent
}

1310
2017-07-21 03:36



Sebagai alternatif, Anda dapat memilih keluar dari tampilan bar status-controller berbasis-tampilan:

  1. Set View controller-based status bar appearance untuk NO di dalam kamu Info.plist.
  2. Panggilan [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

Catatan: Metode ini telah dihentikan di iOS9. Menggunakan preferredStatusBarStyle pada UIViewController sebagai gantinya. (Lihat Perpustakaan Pengembang Apple)


841
2017-08-12 10:35



Anda dapat melakukan ini tanpa menulis baris kode apa pun!
Lakukan hal berikut untuk membuat teks bar status berwarna putih melalui seluruh aplikasi

Padamu plist proyek mengajukan:

  • Gaya bar status: Transparent black style (alpha of 0.5)
  • Lihat tampilan bar status pengontrol: NO
  • Bilah status pada awalnya tersembunyi: NO

432
2017-09-11 04:47



Catatan: Jawaban terbanyak dipilih tidak berfungsi untuk iOS 7/8 

Di Info.plist set 'Lihat tampilan bar status controller berbasis' sebagai NO

Di AppDelegate add

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

untuk

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
   ......
   ...
}    

Solusi ini berfungsi untuk iOS 7/8


241
2017-09-23 05:11



Bagi saya, tidak ada yang terjadi dengan menggunakan semua hal di jawaban yang lain (dan dari sumber lain / dokumentasi). Apa yang membantu adalah mengatur Gaya Navigasi Bar menjadi "Hitam" di XIB. Ini mengubah teks menjadi putih tanpa kode sama sekali.

Enter image description here


107
2017-09-12 16:42



Tidak ada yang berhasil untuk saya, jadi di sini adalah solusi yang bekerja ...

Di Info.plist, tambahkan satu baris:

UIViewControllerBasedStatusBarAppearance, dan atur nilainya NO.

Kemudian di AppDelegate di didFinishLaunchingWithOptions, tambahkan baris berikut:

[application setStatusBarHidden:NO];
[application setStatusBarStyle:UIStatusBarStyleLightContent];

95
2017-12-29 11:28



Anda tidak perlu melakukan kode apa pun untuk ini

Anda perlu menambahkan "Lihat tampilan bar status status controller berbasis" di info.plist sebagai berikut: enter image description here

& atur jenis nilainya ke Boolean & nilai ke NO. Kemudian klik pada pengaturan proyek, lalu klik Tab Umum & di bawah Info Penerapan mengatur gaya bilah status yang disukai ke .Lampu sebagai berikut:

enter image description here

Itu dia.


53
2018-02-09 09:00



Hanya dua langkah sebagai berikut:

Langkah 1:

Di bawah tab Info dari project target, Menambahkan baris:

UIViewControllerBasedStatusBarAppearance, tetapkan nilai NO.

Langkah 2:

Di dalam proyek AppDelegate.m:

- (BOOL)application:(UIApplication *)application 
        didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
    …
    [application setStatusBarStyle:UIStatusBarStyleLightContent];
    …
}

48
2017-12-21 13:55