Bagaimana saya bisa mendapatkan tinggi status bar secara terprogram di Swift?
Di Objective-C, ini seperti ini:
[UIApplication sharedApplication].statusBarFrame.size.height.
Apakah ada masalah dengan Swift 2.x :
UIApplication.sharedApplication().statusBarFrame.size.height
Swift 3 atau Swift 4 :
UIApplication.shared.statusBarFrame.height
Pastikan UIKit
diimpor
import UIKit
Di iOS 13, Anda akan mendapatkan peringatan yang tidak berlaku lagi "
'statusBarFrame' tidak digunakan lagi di iOS 13.0: Gunakan properti statusBarManager dari adegan jendela sebagai gantinya.
Untuk mengatasinya:
let height = view.window?.windowScene?.statusBarManager?.statusBarFrame.height ?? 0
UIApplication.shared.statusBarFrame.size.height
size
di Swift 3:UIApplication.shared.statusBarFrame.height
sudah cukup.view.window?
denganUIApplication.shared.keyWindow?
Swift hanyalah bahasa yang berbeda. Elemen API sama. Mungkin sesuatu seperti ini:
sumber
Jawaban yang Diperbarui Mendukung iOS 13+ dan Versi iOS yang lebih lama untuk Swift 5
Selamat Coding!
sumber
Ini yang saya gunakan:
Kemudian Anda dapat melakukan:
sumber
Ini seperti di Objective-C:
Ini termasuk sebagai variabel standar di:
https://github.com/goktugyil/EZSwiftExtensions
sumber
Jawaban ulang dari Ibrahim:
sumber
Pada proyek swiftUI saya, ini berhasil.
Saat digunakan,
sumber