Comment obtenir de l'appareil largeur et la hauteur?
En Objective-C, nous pouvons obtenir de l'appareil largeur et la hauteur, à l'aide de code suivant :
CGRect sizeRect = [UIScreen mainScreen].applicationFrame
float width = sizeRect.size.width
float height = sizeRect.size.height
Comment peut ce faire avec Swift ?
- FYI -
applicationFrame
ne donne pas la taille de l'écran. Il donne la taille de l'application. Il est préférable d'utiliserbounds
au lieu deapplicationFrame
si vous voulez que la taille de l'écran. - Oui, rmaddy vous avez raison. Je l'ai déjà fait cela change dans mon application. Merci pour votre réponse.
Vous devez vous connecter pour publier un commentaire.
Je n'ai pas essayé, mais il devrait être..
UIScreen.main.bounds.width
avec la dernière version du sdk.@Houssni 's réponse est correcte, mais puisque nous parlons de Swift et de ce cas d'utilisation viendra souvent, on pourrait envisager d'étendre
CGRect
similaire à ceci:Alors vous pouvez l'utiliser comme:
Hourra! 🙂
Swift 4.2
Si vous voulez l'utiliser dans votre code. Ici vous allez.
Exactement comme ça, testé aussi.
;
LOL XDSwift
sans points-virgules, puis de nouveau enObjectiveC
j'aurai probablementΩ(n)
erreur de compilation LOL(Swift 3) Gardez à l'esprit que la plupart des valeurs de largeur et hauteur sera basé sur le dispositif actuel de l'orientation. Si vous voulez une valeur cohérente qui n'est pas basé sur la rotation et offre des résultats comme si vous étiez dans un portrait de rotation, donner fixedCoordinateSpace un essai:
Puisque vous êtes à la recherche pour le dispositif de la taille de l'écran de la façon la plus simple est:
Tandis que @Adam Smaka réponse était proche, dans Swift 3, il est le suivant:
Un UIScreen objet définit les propriétés associées à un matériel de base de l'affichage. appareils iOS ont un écran principal et de zéro ou plusieurs attachés écrans. Chaque objet à l'écran définit les limites du rectangle pour l'affichage associé et d'autres propriétés intéressantes
Apple Doc URL :
Pour obtenir la Hauteur/largeur de l'ur de l'utilisateur de l'appareil avec swift 3.0
Dans Swift 4 j'ai eu à utiliser NSScreen.principal?.deviceDescription