Question

L'application iPhone que je développe en mode paysage se déroule sérieusement. Je l'ai mis dans le portrait pour comparaison et il semble être beaucoup plus fluide dans cette orientation. Je ne fais pas ce que je pense être un processus à forte augmentation: une vue de carte, des boutons, des étiquettes et un dessin en quartz, mais une animation de quartz de base ralentit vraiment vraiment mal.

Est-ce que quelqu'un sait si le mode paysage est tout simplement terriblement handicapé par rapport au portrait, et / ou si oui, s'il existe de meilleures façons de créer une application de paysage? J'utilise simplement une vue root tournée à 90 degrés transformés et je lui attache toutes mes sous-vues.

Merci.

Était-ce utile?

La solution

Il ne devrait pas y avoir de réelle différence entre les orientations du paysage et des portraits lorsqu'il s'agit de rendre les performances. Utilisez-vous une transformation pour faire tourner votre vue principale à 90 degrés? En ce qui concerne l'iPhone OS 2.1, je crois, vous n'avez plus besoin d'appliquer manuellement une transformation à votre vue principale pour le faire commencer dans le paysage. Tout ce que j'avais à faire pour forcer l'orientation du paysage était de placer cette méthode du délégué au sein de mon délégué d'application:

- (void)application:(UIApplication *)application willChangeStatusBarOrientation:(UIInterfaceOrientation)newStatusBarOrientation duration:(NSTimeInterval)duration;
{
    // This prevents the view from autorotating to portrait in the simulator
    if ((newStatusBarOrientation == UIInterfaceOrientationPortrait) || (newStatusBarOrientation == UIInterfaceOrientationPortraitUpsideDown))
        [application setStatusBarOrientation:UIInterfaceOrientationLandscapeRight animated:NO];
}

et ce qui suit dans mon contrôleur de vue racine:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{
    return ( (interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (interfaceOrientation == UIInterfaceOrientationLandscapeRight));
}

Autres conseils

Peut-être que vous faites des divisions qui entraînent des positions de pixels non entières (comme 0,76). J'ai eu des problèmes de performance lorsque j'avais des positions de pixels non entières. (Même si je ne suis pas complètement sûr que ceux-ci étaient connectés. Mais peut-être que cela vous aide)

Merci pour toutes vos suggestions et aide, tout le monde. J'ai essayé la suggestion de Brad de définir les paramètres de la View Controller Autorotate et cela a très bien fonctionné. Je pense que c'était un énorme facteur contribuant au ralentissement.

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