Swift: determinar el tamaño de la pantalla de iOS [duplicado]

Resuelto Z-Tech asked hace 54 años • 1 respuestas

Me gustaría usar el código Swift para colocar correctamente los elementos en mi aplicación sin importar el tamaño de la pantalla. Por ejemplo, si quiero que un botón tenga el 75% del ancho de la pantalla, podría hacer algo como (screenWidth * .75)que tenga el ancho del botón. Descubrí que esto podría determinarse en Objective-C haciendo

CGFloat screenWidth = screenSize.width;
CGFloat screenHeight = screenSize.height;

Lamentablemente, no estoy seguro de cómo convertir esto a Swift. ¿Alguien tiene alguna idea?

¡Gracias!

Z-Tech avatar Jan 01 '70 08:01 Z-Tech
Aceptado

En Swift 5.0

let screenSize: CGRect = UIScreen.main.bounds

Preste atención a que UIScreen.mainquedará obsoleto en futuras versiones de iOS. Entonces podemos usar view.window.windowScene.screen.

Rápido 4.0

// Screen width.
public var screenWidth: CGFloat {
    return UIScreen.main.bounds.width
}

// Screen height.
public var screenHeight: CGFloat {
    return UIScreen.main.bounds.height
}

En Swift 3.0

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

En Swift más antiguo:
haz algo como esto:

let screenSize: CGRect = UIScreen.mainScreen().bounds

luego puedes acceder al ancho y alto de esta manera:

let screenWidth = screenSize.width
let screenHeight = screenSize.height

Si quieres el 75% del ancho de tu pantalla, puedes ir:

let screenWidth = screenSize.width * 0.75
Goppinath avatar Jun 08 '2014 21:06 Goppinath