J'ai traversé un certain nombre de tutoriels sur les classs de taille mais je n'arrive toujours pas à comprendre une chose.
L'iPhone 5, l'iPhone 6 et l'iPhone 6 Plus ont absolument les mêmes proportions, donc je veux qu'ils utilisent la même disposition de contenu. En disant la même chose, je veux dire proportionnelle à la largeur et la hauteur de l'écran.
Mais! Je ne peux pas find un moyen de le rendre proportionnel pour tous les iPhones!
Il y a juste quelques contraintes qui supportent vraiment les proportions: "Ratio d'aspect", "même largeur" + "multiplicateur", "même hauteur" + "multiplicateur"
Contraintes, telles que Leading Edges, Horizontal Center In Container, toutes les contraintes Pin fonctionnent avec des valeurs absolues en points logiques, et les écrans de tous les iPhones ont des tailles différentes en points logiques; ainsi je ne peux pas get la même image sur tous les iPhones.
J'ajoute une image pour expliquer ce que je veux réaliser:
Si vous voulez faire une si mauvaise utilisation d'un plus grand écran, vous pourriez simplement ne pas inclure le file de lancement ou lancer des images pour les appareils 4.7 "et 5.5" et ils vont simplement utiliser une mise à l'échelle de 4 ".
Mais s'il vous plait, ne faites rien de tout ça. Les écrans peuvent avoir le même format, mais ils ne sont pas de la même taille et les traiter de cette manière peut créer une mauvaise expérience user.
J'ai eu un problème similaire et l'ai résolu en testant l'image par rapport à la hauteur de l'écran (ou la largeur), par exemple:
//iphone 5 if UIScreen.main.bounds.size.height == 568.0 { // your code here }
les hauteurs d'écran d'iphone sont comme suit:
iphone 5 = 568,0
iPhone 6 / 6s / 7 = 667,0
iphone 6/7 plus = 736.0
Vérifiez ce projet d'échantillon que j'ai fait pour vous.
Supposons que vous avez un button, puis suivez les étapes que j'ai mentionnées ci-dessous pour faire la hauteur proportionnelle, la largeur et la position du button à la vue parente.
Tout est fait .. Il suffit de courir et vérifier.
J'espère que ceci vous aidera.