2016-12-01 2 views
0

J'ai une application que j'ai créée il y a longtemps, sur un iPad en mode portrait; mes utilisateurs demandent maintenant le mode paysage aussi. Mon problème est que deux des pages sont créées en utilisant des graphiques de base (CGRect etc) pour dessiner les lignes (horizontales et verticales) qui fonctionnent. Ceci est une image de la première page:Comment créer des modes paysage et portrait en utilisant des graphiques de base?

enter image description here

Ma question est: comment puis-je faire ce paysage et portrait dans une application utilisant des contraintes, ou est-il une autre façon de le faire (je l'espère plus facile).

Répondre

1

Je ne pense pas qu'il y ait un moyen facile. Si vous créez les objets ici par programmation, vous pouvez fournir un "facteur" de x et y à l'ensemble. Par exemple, si vous créez un rectangle de calendrier = (w,h) en portrait, vous pouvez le remplacer par (w * xFactor, h * yFactor). Ensuite, vous modifiez/ajustez xFactor et yFactor dans le délégué orientationChange et redessinez.

+0

Donc ce que vous dites est que je dois déterminer l'orientation et ensuite appliquer le «facteur» à chaque composant de dessin en conséquence ... correct? – SpokaneDude

+0

Yup. Je ne vois pas votre code, donc je ne peux pas vraiment commenter plus. Aucune idée de la façon dont vous avez créé ces objets par "CoreGraphics". Normalement, nous devrions juste sous-classer un UIView et créer les objets. Mais encore, sans appliquer de contraintes, vous devez ajuster manuellement les tailles/position par code. – GeneCode

+0

Pourriez-vous élaborer sur "simplement sous-classer un UIVIew et créer les objets"? Je ne vois pas comment utiliser cela se dilaterait et se contracterait selon le mode (paysage ou portrait), sauf si vous faites référence à un UIView pour chaque mode? – SpokaneDude