2010-03-22 6 views
0

J'utilise la source CoverFlow remplacement d'ici ouvert: http://fajkowski.com/blog/2009/08/02/openflow-a-coverflow-api-replacement-for-the-iphone/Ouverture AFOpenFlowView déjà en mode paysage

Quand je détectons qu'un certain point de vue est passé de mode portrait au mode paysage, j'instancier un AFCoverFlowView et le pousser sur la pile de navigation.

Si je le fais en réponse à

  • (void) didRotateFromInterfaceOrientation: (UIInterfaceOrientation) fromInterfaceOrientation

La vue des flux de couverture arrive comme si le téléphone était encore en mode portrait.

Si je pousse la vue en réponse à

  • (void) willRotateToInterfaceOrientation: (UIInterfaceOrientation) fromInterfaceOrientation

il fonctionne parfaitement - la vue est en mode paysage avec le téléphone en mode paysage

Malheureusement, l'appareil ne reçoit pas de messages fiables willRotateToInterfaceOrientation. J'ai essayé de m'assurer que

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];

est dans loadView mais cela n'aide pas avec les notificiations.

Alors, mes questions sont les suivantes:

  1. Y at-il un moyen d'obtenir de manière fiable willRotateToInterfactOrientation?

sinon

  1. Comment puis-je instruis AFCoverFlowView à venir en mode paysage (si l'appareil est déjà en mode paysage)

Répondre

2

Je l'ai une transformation sur la FlowView de la classe contrôleur comme ceci:

CGAffineTransform transform = self.view.transform; 
transform = CGAffineTransformRotate(transform, (M_PI/2.0)); 
self.view.transform = transform; 

ce qui a fonctionné assez bien pour mes besoins.