Ответ 1
Есть ли проблемы с Swift 2.x:
UIApplication.sharedApplication().statusBarFrame.size.height
Swift 3 или Swift 4:
UIApplication.shared.statusBarFrame.height
Убедитесь, что UIKit
импортирован
import UIKit
Как я могу получить высоту строки состояния программно в Swift?
В Objective-C он выглядит так:
[UIApplication sharedApplication].statusBarFrame.size.height.
Есть ли проблемы с Swift 2.x:
UIApplication.sharedApplication().statusBarFrame.size.height
Swift 3 или Swift 4:
UIApplication.shared.statusBarFrame.height
Убедитесь, что UIKit
импортирован
import UIKit
Свифт - это просто другой язык. Элементы API одинаковы. Возможно, что-то вроде этого:
let app = UIApplication.sharedApplication()
let height = app.statusBarFrame.size.height
Его так же, как в Objective-C:
var screenStatusBarHeight: CGFloat {
return UIApplication.sharedApplication().statusBarFrame.height
}
Это включено как стандартная переменная в:
Шаг 1: импортируйте UIKit-фреймворк в свой класс, как показано ниже. Импорт UIKit
Шаг 2: Используйте следующий код
для быстрой версии 2.x
UIApplication.sharedApplication(). StatusBarFrame.size.height
для быстрой версии 3 или 4
UIApplication.shared.statusBarFrame.height
Это то, что я использую:
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