Aller au contenu

Photo

Passer en Mode Paysage dès qu'on choisit une option


  • Please log in to reply
2 replies to this topic

#1 hedi

hedi

    iPuP débutant

  • Members
  • 13 Messages :

Posté 12 septembre 2012 - 10:12

Bonjour
Je voudrais savoir s'il vous plait comment on peut passer en mode Landscape directement en choisissant une option dans un PickerView
En détail : je met dans un picker view les valeurs 1, 2 et 3
et dès que je sélectionne 2 ou 3 l'affichage doit directement passer en mode Landscape.
Est ce que vous auriez une idée ou est ce qu'on peut faire ça.
Merci infiniment pour votre aide

#2 .sA.r

.sA.r

    iPuP confirmé

  • Members
  • 254 Messages :

Posté 12 septembre 2012 - 13:49

Salut !

Perso je le ferais comme ça :

Il y a une méthode du PickerViewDelegate qui est appelé à chaque changement,
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
Dans cette fonction, tu sais sur quelle valeur tu te trouves : row.
Et là, dans cette fonction, je forcerais le landscape avec une rotation de la vue (et inversement pour le mode portrait) :
CGAffineTransform newTransform = CGAffineTransformMake(0.0,1.0,-1.0,0.0,0.0,0.0);         
self.view.transform = newTransform;
(j'ai pas testé mais normalement c'est ok)

Il y a aussi :
[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPortrait];
mais avec ça, il y a des risques que ton appli soit rejetée par Apple.

Il y a peut-être plus "propre" comme solution mais étant donné que tes vues doivent rester bloquées en portrait ou en landscape, il me semble que c'est le mieux ici, pense bien à désactiver la rotation automatique de la vue en virant ça :
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
++

Ce message a été modifié par .sA.r - 12 septembre 2012 - 13:50.


#3 hedi

hedi

    iPuP débutant

  • Members
  • 13 Messages :

Posté 13 septembre 2012 - 11:39

Merci beaucoup pour ta réponse
elle m'a fait avancer un peu mais un petit souci toujours présent .
C'est que cette fonction me fait pivoter juste la vue mais pas tout le devise qui est resté en mode portrait.
Moi en fait je voudrais que tout le simulateur prenne la vue Landscape (car en fait j'ai une courbe a afficher).
Voila si tu peux m'aider encore un peu plus je te remercie.




0 utilisateur(s) en train de lire ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)