Como posso obter a altura da barra de status de forma programática no Swift?
Em Objective-C, é assim:
[UIApplication sharedApplication].statusBarFrame.size.height.
Há algum problema com o Swift 2.x :
UIApplication.sharedApplication().statusBarFrame.size.height
Swift 3 ou Swift 4 :
UIApplication.shared.statusBarFrame.height
Certifique-se de que UIKit
é importado
import UIKit
No iOS 13, você receberá um aviso de uso suspenso "
'statusBarFrame' foi descontinuado no iOS 13.0: use a propriedade statusBarManager da cena da janela.
Para consertar isso:
let height = view.window?.windowScene?.statusBarManager?.statusBarFrame.height ?? 0
UIApplication.shared.statusBarFrame.size.height
size
no Swift 3:UIApplication.shared.statusBarFrame.height
é o suficiente.view.window?
porUIApplication.shared.keyWindow?
Swift é apenas um idioma diferente. Os elementos da API são os mesmos. Talvez algo assim:
fonte
Resposta atualizada com suporte para iOS 13+ e versões anteriores do iOS para Swift 5
Happy Coding!
fonte
Isso é o que eu uso:
Então você pode fazer:
fonte
É como em Objective-C:
Isso está incluído como uma variável padrão em:
https://github.com/goktugyil/EZSwiftExtensions
fonte
Resposta reformulada de Ibrahim:
fonte
No meu projeto swiftUI, isso funcionou.
Quando usar,
fonte