10 ответов:
Я не пробовал, но должно быть..
var bounds = UIScreen.main.bounds var width = bounds.size.width var height = bounds.size.height
ответ@Houssni правильный, но поскольку мы говорим о Swift, и этот случай использования будет часто возникать, можно было бы рассмотреть возможность расширения
CGRectпримерно так:extension CGRect { var wh: (w: CGFloat, h: CGFloat) { return (size.width, size.height) } }затем вы можете использовать его как:
let (width, height) = UIScreen.mainScreen().applicationFrame.whУра! :)
Swift 4
let screenBounds = UIScreen.main.bounds let width = screenBounds.width let height = screenBounds.height
Если вы хотите использовать его в вашем коде. Вот, держи.
func iPhoneScreenSizes(){ let bounds = UIScreen.mainScreen().bounds let height = bounds.size.height switch height { case 480.0: print("iPhone 3,4") case 568.0: print("iPhone 5") case 667.0: print("iPhone 6") case 736.0: print("iPhone 6+") default: print("not an iPhone") } }
var sizeRect = UIScreen.mainScreen().applicationFrame var width = sizeRect.size.width var height = sizeRect.size.heightточно так же, как это, проверил его также.
(Swift 3) имейте в виду, что большинство значений ширины и высоты будут основаны на текущей ориентации устройства. Если вам нужно согласованное значение, которое не основано на вращении и предлагает результаты, как если бы Вы были в портретном вращении, дайте fixedCoordinateSpace попробуй:
let screenSize = UIScreen.main.fixedCoordinateSpace.bounds
Так как вы ищете размер экрана устройства самый простой способ:
let screenSize = UIScreen.mainScreen().bounds.size let width = screenSize.width let height = screenSize.height
в то время как ответ @Adam Smaka был близок, в Swift 3 это следующее:
let screenBounds = UIScreen.main.bounds let width = screenBounds.width let height = screenBounds.height
объект UIScreen определяет свойства, связанные с аппаратным дисплеем. устройства iOS имеют главный экран и ноль или более подключенных экранов. Каждый объект экрана определяет границы прямоугольника для соответствующего отображения и других интересных свойств
Apple Doc URL:
https://developer.apple.com/reference/uikit/uiwindow/1621597-screen
чтобы получить высоту / ширину устройства пользователя ur с помощью swift 3.0
let screenHeight = UIScreen.main.bounds.height let screenWidth = UIScreen.main.bounds.width
в Swift 4 мне пришлось использовать NSScreen.главное?.deviceDescription
let deviceDescription = NSScreen.main?.deviceDescription let screenSize = deviceDescription![.size] let screenHeight = (screenSize as! NSSize).height
Comments