Подтвердить что ты не робот

Высота строки состояния в Swift

Как я могу получить высоту строки состояния программно в Swift?

В Objective-C он выглядит так:

[UIApplication sharedApplication].statusBarFrame.size.height.
4b9b3361

Ответ 1

Есть ли проблемы с Swift 2.x:

UIApplication.sharedApplication().statusBarFrame.size.height

Swift 3 или Swift 4:

UIApplication.shared.statusBarFrame.height

Убедитесь, что UIKit импортирован

import UIKit

Ответ 2

Свифт - это просто другой язык. Элементы API одинаковы. Возможно, что-то вроде этого:

let app = UIApplication.sharedApplication()
let height = app.statusBarFrame.size.height

Ответ 3

Его так же, как в Objective-C:

var screenStatusBarHeight: CGFloat {
    return UIApplication.sharedApplication().statusBarFrame.height
}

Это включено как стандартная переменная в:

https://github.com/goktugyil/EZSwiftExtensions

Ответ 4

Шаг 1: импортируйте UIKit-фреймворк в свой класс, как показано ниже. Импорт UIKit

Шаг 2: Используйте следующий код

для быстрой версии 2.x

UIApplication.sharedApplication(). StatusBarFrame.size.height

для быстрой версии 3 или 4

UIApplication.shared.statusBarFrame.height

Ответ 5

Это то, что я использую:

struct Screen {
    static var width: CGFloat {
        return UIScreen.main.bounds.width
    }
    static var height: CGFloat {
        return UIScreen.main.bounds.height
    }
    static var statusBarHeight: CGFloat {
        return UIApplication.shared.statusBarFrame.size.height
    }
}

Тогда вы можете сделать:

Screen.statusBarHeight