Si vous développez une application sur iOS et que vous gérez différentes orientations (paysage / portrait), vous utilisez certainement la méthode shouldAutorotateToInterfaceOrientation pour retourner les orientations autorisées.
Cette méthode était appelée très souvent, Apple a donc décider de la mettre en obsolète.
Sur iOS 6, il faut maintenant utiliser : supportedInterfaceOrientations, cette méthode est maintenant appelée au démarrage et retourne un masque pour lister toutes les valeurs valides.
Il me reste un problème encore, sur iOS 4.x, mon application n'est pas correctement orientée et je n'arrive pas à savoir pourquoi (aucun problème sur iOS 5)... Si vous avez une idée...
Source : http://dhilipsiva.blogspot.fr/2012/07/ios-6-ui-interface-orientation.html
mercredi 26 septembre 2012
jeudi 20 septembre 2012
iPhone 5 et le 16/9eme (640 * 1136)
L'arrivée de iOS6 et surtout de l'iPhone 5 (ainsi que l'iPod Touch 4eme génération) se pose la question de comment un jeu utilisant OpenGL ES va pouvoir s'initialiser avec cette nouvelle résolution (tout en gardant la compatibilité avec la précédente résolution qui est du 2/3).
Si vous ne faites aucun changement avec vos anciens projets, vous allez vous retrouver avec des bandes noirs (on a du 960 * 640 dans la nouvelle résolution du 1136 * 640).
En lisant la doc d'Apple, on trouve comme information qu'il suffit de mettre une image de lancement pour cette nouvelle résolution pour que cela fonctionne.
Malheureusement, la taille de la window se trouve bien en 1136 mais la view reste en 960...
En fait, il faut modifier tout simplement votre fichier "xib" qui normalement avoir une view qui a une résolution 320 * 480. Il faut alors modifier ces valeurs en 320 * 568.
Et oui, il faut définir une view en non retina 16/9. En retina, ces valeurs seront x2 (donc 640 * 1136).
Sur les anciennes platformes, cette vue sera coupée pour reprendre son format 2/3 et non plus 16/9.
C'est le genre de chose sur lequel on peut passer beaucoup de temps à chercher...
Si vous ne faites aucun changement avec vos anciens projets, vous allez vous retrouver avec des bandes noirs (on a du 960 * 640 dans la nouvelle résolution du 1136 * 640).
En lisant la doc d'Apple, on trouve comme information qu'il suffit de mettre une image de lancement pour cette nouvelle résolution pour que cela fonctionne.
Malheureusement, la taille de la window se trouve bien en 1136 mais la view reste en 960...
En fait, il faut modifier tout simplement votre fichier "xib" qui normalement avoir une view qui a une résolution 320 * 480. Il faut alors modifier ces valeurs en 320 * 568.
Et oui, il faut définir une view en non retina 16/9. En retina, ces valeurs seront x2 (donc 640 * 1136).
Sur les anciennes platformes, cette vue sera coupée pour reprendre son format 2/3 et non plus 16/9.
C'est le genre de chose sur lequel on peut passer beaucoup de temps à chercher...
Libellés :
iPhone