Mode paysage monotouch pour iPhone
-
08-07-2019 - |
Question
Comment conserver une application iPhone Monotouch en mode paysage lors du chargement d'un nouveau contrôleur de vue à partir d'un xib?
Pour passer en mode paysage lorsque l'application se charge, j'utilise:
app.StatusBarOrientation = UIInterfaceOrientation.LandscapeRight;
J'aimerais pouvoir faire pivoter la vue dans le générateur d'interface et concevoir l'interface. Je peux appuyer sur la flèche de rotation située dans le coin de la vue du générateur d'interface pour la faire pivoter et la sauvegarder, mais cela n'affecte pas l'application lorsqu'elle est exécutée.
La solution 2
Ce lien Monotouch permet de faire pivoter la vue dans Portrait / Paysage , par exemple, pour utiliser:
viewRef.transform = CGAffineTransformMakeRotation(angle);
J'ai donc essayé
this.view.Transform = CGAffineTransformMakeRotation(3.141f * 0.5f);
Mais j'ai eu des résultats étranges. Il s'est avéré que j'utilisais .view au lieu de .View. Maintenant cela fonctionne très bien avec:
this.View.Transform = CGAffineTransformMakeRotation(3.141f * 0.5f);
Autres conseils
N’est-il pas encore plus simple d’utiliser ceci:
public override bool ShouldAutorotateToInterfaceOrientation (UIInterfaceOrientation toInterfaceOrientation)
{
// Return true for supported orientations
return ((toInterfaceOrientation != UIInterfaceOrientation.PortraitUpsideDown) && (toInterfaceOrientation != UIInterfaceOrientation.Portrait));
}
De cette façon, il ne fera une autorotation que lorsque l'appareil est en mode paysage (les deux paysages)