Je rencontre des problèmes avec mes UIViews en fonction de l'orientation des appareils...
Le principal problème que j'ai est que
UIDeviceOrientationFaceUp
UIDeviceOrientationFaceDown
impactent ma vue, je veux seulement supporter le mode Portrait et Paysage (gauche droite) donc si l'appareil change d'orientation ma vue se modifie correctement..
voici ce que j'ai implémenté pour le moment. Fondamentalement, c'est une UIView qui défile vers le haut depuis le bas de l'écran et contient plusieurs boutons dans cette vue que l'utilisateur peut sélectionner pour charger une vue différente.
#pragma jumpBarButtons
- (void)jumpBarButtonPosition
{
//trucs d'orientation
if (jumpBar.isViewLoaded) {
UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
switch (orientation) {
case UIDeviceOrientationPortrait:
{
NSLog(@"Portrait");
// Ligne une
jumpButton1.frame = CGRectMake(18.45, 23.0, 57.0, 57.0);
jumpButton2.frame = CGRectMake(93.9, 23.0, 57.0, 57.0);
jumpButton3.frame = CGRectMake(169.35, 23.0, 57.0, 57.0);
jumpButton4.frame = CGRectMake(244.8, 23.0, 57.0, 57.0);
// Ligne deux
jumpButton5.frame = CGRectMake(18.45, 95.0, 57.0, 57.0);
jumpButton6.frame = CGRectMake(93.9, 95.0, 57.0, 57.0);
jumpButton7.frame = CGRectMake(169.35, 95.0, 57.0, 57.0);
jumpButton8.frame = CGRectMake(244.8, 95.0, 57.0, 57.0);
// Ligne trois
jumpButton9.frame = CGRectMake(18.45, 167.0, 57.0, 57.0);
jumpButton10.frame = CGRectMake(93.9, 167.0, 57.0, 57.0);
jumpButton11.frame = CGRectMake(169.35, 167.0, 57.0, 57.0);
jumpButton12.frame = CGRectMake(244.8, 167.0, 57.0, 57.0);
// Ligne quatre
jumpButton13.frame = CGRectMake(18.45, 239.0, 57.0, 57.0);
jumpButton14.frame = CGRectMake(93.9, 239.0, 57.0, 57.0);
jumpButton15.frame = CGRectMake(169.35, 239.0, 57.0, 57.0);
jumpButton16.frame = CGRectMake(244.8, 239.0, 57.0, 57.0);
}
break;
case UIDeviceOrientationLandscapeLeft:
case UIDeviceOrientationLandscapeRight:
{
viewSpaceHeight = 207;
viewSpaceWidth = 480;
// Ligne une
jumpButton1.frame = CGRectMake(19.7, 9.0, 57.0, 57.0);
jumpButton2.frame = CGRectMake(96.42, 9.0, 57.0, 57.0);
jumpButton3.frame = CGRectMake(173.13, 9.0, 57.0, 57.0);
jumpButton4.frame = CGRectMake(249.84, 9.0, 57.0, 57.0);
jumpButton5.frame = CGRectMake(326.55, 9.0, 57.0, 57.0);
jumpButton6.frame = CGRectMake(403.26, 9.0, 57.0, 57.0);
// Ligne deux
jumpButton7.frame = CGRectMake(19.7, 75.0, 57.0, 57.0);
jumpButton8.frame = CGRectMake(96.42, 75.0, 57.0, 57.0);
jumpButton9.frame = CGRectMake(173.13, 75.0, 57.0, 57.0);
jumpButton10.frame = CGRectMake(249.84, 75.0, 57.0, 57.0);
jumpButton11.frame = CGRectMake(326.55, 75.0, 57.0, 57.0);
jumpButton12.frame = CGRectMake(403.26, 75.0, 57.0, 57.0);
// Ligne trois
jumpButton13.frame = CGRectMake(19.7, 141.0, 57.0, 57.0);
jumpButton14.frame = CGRectMake(96.42, 141.0, 57.0, 57.0);
jumpButton15.frame = CGRectMake(173.13, 141.0, 57.0, 57.0);
jumpButton16.frame = CGRectMake(249.84, 141.0, 57.0, 57.0);
}
break;
//..
c'est à peu près tout, en mode portrait il y a 16 icônes en 4x4, en paysage il y a 6 icônes en 6x4. Ce qu'il se passe si l'appareil est retourné face vers le haut ou vers le bas, toutes ces vues de boutons disparaissent.. Que puis-je faire pour arrêter cela, toute aide serait grandement appréciée.