Question

Donc, aujourd'hui, je mets en œuvre le mode paysage pour mon application. Il est une application es opengl. J'ai tourné 90 degrés. La première chose que je remarque est que les touches ne fonctionnent plus. La raison en est que l'appel à locationInView donne encore les coordonnées comme si l'application est en mode portrait.

Comment les gens traitent généralement avec cela? Dois-je écrire ma propre version de locationInView pour tenir compte de l'orientation du téléphone? Ou est-il une meilleure façon?

Était-ce utile?

La solution

Ce comportement est par défaut. Que ce soit l'iPhone est en mode portrait ou paysage les coordonnées d'écran ne changent pas, vous aurez donc besoin d'ajuster pour cela dans votre application.

Autres conseils

Fondamentalement, deux approches, chacun avec leurs propres inconvénients / actifs.

  1. Vous pouvez joindre votre GLView à un viewcontroller et laisser gérer les événements de rotation et la fenêtre traduire les coordonnées en vue « » coordonnées. Ceci est la méthode la plus simple, mais les performances de votre dessin pourrait être compromise.

  2. Gérer la rotation vous. Vous aurez besoin d'ajouter vos propres méthodes pour traiter les rotations, entraînées par la notification de UIDeviceOrientationDidChangeNotification. Cette méthode devrait inclure les GL commandes pour faire tourner la matrice, traduire des touches, etc ..

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top