Uygulamamın koyu bir arka planı var, ancak iOS 7'de durum çubuğu şeffaf hale geldi. Bu yüzden orada hiçbir şey göremiyorum, sadece köşedeki yeşil pil göstergesini görebiliyorum. Durum çubuğu metin rengini ana ekranda olduğu gibi beyaza nasıl değiştirebilirim?
.plist dosyasında UIViewControllerBasedStatusBarAppearance
seçeneğini YES
olarak ayarlayın.
ViewDidLoadiçinde bir
[self setNeedsStatusBarAppearanceUpdate];` yapın
Aşağıdaki yöntemi ekleyin:
- (UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}
Not: Bu UINavigationController
içindeki kontrolörler için çalışmaz, lütfen [Tyson'ın aşağıdaki yorumuna] bakın (https://stackoverflow.com/questions/17678881/how-to-change-status-bar-text-color-in-ios-7#comment28947732_17768797) :)
Swift 3 - Bu, UINavigationController
içindeki denetleyicileri çalıştıracaktır. Bu kodu denetleyicinizin içine ekleyin.
// Preferred status bar style lightContent to use on dark background.
// Swift 3
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
Swift 5 ve SwiftUI
SwiftUI için HostingController.swift
adında yeni bir swift dosyası oluşturun
import Foundation
import UIKit
import SwiftUI
class HostingController: UIHostingController<ContentView> {
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
}
Ardından SceneDelegate.swift
içindeki aşağıdaki kod satırlarını değiştirin
window.rootViewController = UIHostingController(rootView: ContentView())
için
window.rootViewController = HostingController(rootView: ContentView())
Bu, doğrudan erişmek için bir Apple geliştirici kimliğine ihtiyacınız olan iOS 7 UI Transition Guide'da belgelenmiştir. İlgili alıntı:
Durum çubuğu şeffaf olduğu için arkasındaki görünüm görünür. [...] Durum çubuğu içeriğinin koyu mu yoksa açık mı olması gerektiğini belirtmek için bir
UIStatusBarStyle
sabiti kullanın:
UIStatusBarStyleDefault
koyu içeriği görüntüler. [...]
UIStatusBarStyleLightContent
açık renkli içeriği görüntüler. Durum çubuğunun arkasında koyu içerik olduğunda kullanın.
Ayrıca muhtemelen ilgi çekici:
iOS 7'de, durum çubuğunun stilini ayrı bir vew denetleyicisinden kontrol edebilir ve uygulama çalışırken değiştirebilirsiniz. Bu davranışı tercih etmek için, bir uygulamanın
Info.plist
dosyasınaUIViewControllerBasedStatusBarAppearance
anahtarını ekleyin ve bunaYES
değerini verin.
Yine Apple geliştirici kimliğinizle erişebileceğiniz belgeye göz atmanızı kesinlikle tavsiye ederim.
Bu, Xcode ve iOS 7'nin mevcut yapısıyla ilgili bir sorun gibi görünüyor.
Apple'ın Geliştirici Forumlarındaki bazı ilgili içerikler Apple Geliştirici Forumlarında "iOS 7 Beta Livability" içinde UIStatusBarStyleLightContent için bir arama* (şu anda 32 gönderi).
Hafif versiyona ayarlamaya çalışırken karşılaştım.
(Bu sadece Aaron'un cevabının devamı niteliğindedir).