tiene telefono tamaño studio saber resolucion pulgadas pixeles pantalla obtener cuantas cual como celular aplicacion ajustar cocoa-touch swift

cocoa touch - telefono - ¿Cómo obtener el ancho y la altura del dispositivo?



saber la resolucion de mi tablet (10)

En Objective-C podemos obtener el ancho y alto del dispositivo usando el siguiente código:

CGRect sizeRect = [UIScreen mainScreen].applicationFrame float width = sizeRect.size.width float height = sizeRect.size.height

¿Cómo se puede hacer esto con Swift?


(Swift 3) Tenga en cuenta que la mayoría de los valores de ancho y alto se basarán en la orientación actual del dispositivo. Si desea un valor consistente que no se base en la rotación y ofrezca resultados como si estuviera en una rotación de retroproyección, pruebe fixedCoordinateSpace :

let screenSize = UIScreen.main.fixedCoordinateSpace.bounds


Como está buscando el tamaño de pantalla del dispositivo, la forma más sencilla es:

let screenSize = UIScreen.mainScreen().bounds.size let width = screenSize.width let height = screenSize.height


En Swift 4 tuve que usar NSScreen.main? .deviceDescription

let deviceDescription = NSScreen.main?.deviceDescription let screenSize = deviceDescription![.size] let screenHeight = (screenSize as! NSSize).height


La respuesta de @Houssni es correcta, pero dado que estamos hablando de Swift y este caso de uso surgirá a menudo, uno podría considerar extender CGRect similar a esto:

extension CGRect { var wh: (w: CGFloat, h: CGFloat) { return (size.width, size.height) } }

Entonces puedes usarlo como:

let (width, height) = UIScreen.mainScreen().applicationFrame.wh

¡Hurra! :)


Mientras que la respuesta de @Adam Smaka fue cercana, en Swift 3 es la siguiente:

let screenBounds = UIScreen.main.bounds let width = screenBounds.width let height = screenBounds.height


No lo he intentado, pero debería ser ...

var bounds = UIScreen.main.bounds var width = bounds.size.width var height = bounds.size.height


Si quieres usarlo en tu código. Aqui tienes.

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") } }


Un objeto UIScreen define las propiedades asociadas con una pantalla basada en hardware. Los dispositivos iOS tienen una pantalla principal y cero o más pantallas adjuntas. Cada objeto de pantalla define el rectángulo de límites para la pantalla asociada y otras propiedades interesantes

Apple Doc URL:

https://developer.apple.com/reference/uikit/uiwindow/1621597-screen

Para obtener la altura / ancho del dispositivo de su usuario con swift 3.0

let screenHeight = UIScreen.main.bounds.height let screenWidth = UIScreen.main.bounds.width


Swift 4

let screenBounds = UIScreen.main.bounds let width = screenBounds.width let height = screenBounds.height


var sizeRect = UIScreen.mainScreen().applicationFrame var width = sizeRect.size.width var height = sizeRect.size.height

Exactamente así, también lo probó.