刚刚接触iOS开发所以在屏幕适配上面有一些迷惑之处.
举个栗子
以下是我的约束条件
但是不同的机器上完全是不同的效果
4s
6sp
为了看起来更直观 ,实际上就是效果的差距甚远
所以请教大家,大家平时在屏幕适配方面都是采取什么解决方案.
像我上面提出的需求改用何种方法才可以实现
感谢一楼的热心回答,在此处补充一下
可能是我思考问题的角度除了问题,实际上我想达到的目的是,我在iPhone6P上写了这么一套布局.而这套布局在应用到iPhone4上的时候,显示的比例可以不同,但是大体效果应该一致.变相理解为 iPhone4是iPhone6P的缩小版,请问这种需求该如何实现呢?
Lorsque j'apprenais le développement iOS auparavant, je n'étais pas très satisfait de l'utilisation de
AutoLayout
, je pensais même que la disposition du code serait plus simple. Ce n'est que lorsque j'ai découvert le format d'image d'autoLayout que j'ai réalisé à quel point AutoLayout est utile. D'après ma compréhension personnelle, si vous utilisez les proportions, vous pouvez dimensionner proportionnellement les tailles de différents contrôles.Téléchargez d'abord le diagramme de contraintes sur le storyboard. Je détermine simplement les contraintes de position dans la direction X de la vue et les contraintes de position dans la direction Y. Cependant, il est impossible de déterminer la taille d’une vue avec seulement deux contraintes. Si vous déterminez la distance vers le haut, le bas, la gauche et la droite comme lz, alors tant que l'écran change, la taille de la vue y sera étirée. Au lieu de cela, le 4 demandé par lz à la fin est une version plus petite de plus. Utilisez ensuite Asecpt Rotio. Comme le montre l'image.
Je suis sûr que le rapport entre la largeur et la hauteur de la vue est de 15:8.
Ensuite, assurez-vous que le rapport entre la largeur de la vue et la largeur de la vue principale est constant.
La largeur du viewController sur le storyboard est de 320. L'interface entière est l'exemple de papier de l'iPhone 5/5s, mais une chose est que la largeur de l'écran de l'iPhone 4/4s est la même que celle du 5 /5s. Ainsi, la largeur de la vue est déterminée par la largeur de l'écran, puis la taille est obtenue, puis la hauteur de la vue. Ensuite, nous pouvons créer différents modèles, 4 n'est qu'une version plus petite de plus, plutôt que divers étirements.
L'image ci-dessus est plus simple.
Je ne suis également qu'un nouvel utilisateur iOS qui vient de commencer à utiliser iOS. Je vous souhaite d'aller de plus en plus loin sur la voie du développement iOS.
Selon les règles que vous avez définies, cela peut être simplement compris comme :
1) 100 mètres du côté gauche de l'écran
2) 100 mètres du côté droit de l'écran
3) 100 mètres du bord supérieur de l'écran
4 ) 300 mètres du bas de l'écran
Il est correct de l'afficher de cette façon selon vos règles. Les hauteurs d'écran de l'iPhone 6 Plus et de l'iPhone 4 sont différentes, l'effet d'affichage doit donc être différent selon les règles que vous définissez.
Je suppose que vous souhaiterez peut-être fixer la hauteur de votre vue. Dans ce cas, vous pouvez supprimer la règle de l'espace inférieur et ajouter une règle qui définit la hauteur de la vue sur une hauteur fixe.
Très bon tutoriel de mise en page automatique.
Tutoriel de mise en page automatique dans iOS 9
Vous pouvez comprendre la mise en page automatique selon le tutoriel ci-dessus.
Si vous êtes novice, vous pouvez commencer avec frame et 4s, et utiliser frame et d'autres attributs pour vous familiariser avec la façon dont les contrôles sont placés sur le canevas.
La méthode mentionnée ci-dessus est très bonne. Vous pouvez visualiser la disposition des différents écrans dans l'aperçu en écran partagé.