Jak uzyskać programową wysokość paska stanu w języku Swift?
W Objective-C wygląda to tak:
[UIApplication sharedApplication].statusBarFrame.size.height.
Czy są jakieś problemy ze Swift 2.x :
UIApplication.sharedApplication().statusBarFrame.size.height
Swift 3 lub Swift 4 :
UIApplication.shared.statusBarFrame.height
Upewnij się, że UIKit
został zaimportowany
import UIKit
W iOS 13 pojawi się przestarzałe ostrzeżenie „
„statusBarFrame” został wycofany w iOS 13.0: zamiast tego użyj właściwości statusBarManager sceny okna.
Aby to naprawić:
let height = view.window?.windowScene?.statusBarManager?.statusBarFrame.height ?? 0
UIApplication.shared.statusBarFrame.size.height
size
Swift 3 możesz pominąć :UIApplication.shared.statusBarFrame.height
wystarczy.view.window?
zUIApplication.shared.keyWindow?
Swift to po prostu inny język. Elementy API są takie same. Może coś takiego:
źródło
Zaktualizowana odpowiedź obsługująca iOS 13+ i starsze wersje iOS dla Swift 5
Miłego kodowania!
źródło
Oto, czego używam:
Następnie możesz:
źródło
Podobnie jak w Objective-C:
Jest to standardowa zmienna w:
https://github.com/goktugyil/EZSwiftExtensions
źródło
Przerobiona odpowiedź od Ibrahima:
źródło
W moim projekcie swiftUI to zadziałało.
Podczas użytkowania
źródło