Ответ 1
Сделайте следующее
CGRect Rect = [[UIScreen mainScreen]),
Таким образом, он сохранит границы в rect. попробуйте один раз.
Я попробовал [[UIScreen mainScreen] bounds]
получить размер экрана изменяемого размера iPhone на симуляторе Xcode 6
. Но он не учитывает новую ширину экрана и высоту экрана, которые я им назначаю.
Есть ли лучший способ получить размер экрана? Даже если я установил размер экрана 320x800, [[UIScreen mainScreen] bounds]
вернет мне (CGRect) $0 = origin=(x=0, y=0) size=(width=768, height=1024)
Сделайте следующее
CGRect Rect = [[UIScreen mainScreen]),
Таким образом, он сохранит границы в rect. попробуйте один раз.
В Swift 4.0, 3.0
let screenRect:CGRect = UIScreen.main.bounds
Это происходит в iOS8 и iOS9. Не уверен, что 7 не тестировались:
var screenWidth: CGFloat {
if UIInterfaceOrientationIsPortrait(screenOrientation) {
return UIScreen.mainScreen().bounds.size.width
} else {
return UIScreen.mainScreen().bounds.size.height
}
}
var screenHeight: CGFloat {
if UIInterfaceOrientationIsPortrait(screenOrientation) {
return UIScreen.mainScreen().bounds.size.height
} else {
return UIScreen.mainScreen().bounds.size.width
}
}
var screenOrientation: UIInterfaceOrientation {
return UIApplication.sharedApplication().statusBarOrientation
}
Они включены как стандартная функция в: