Question

J'ai une UIImageView comme une image de fond pour mon application, qui, comme un hélicoptère en détresse, autorotates. Le problème est lorsque l'orientation autorotates mon image se déplace dans tous les sens et je ne l'aime pas. Comme il est une texture simple, je figure l'utilisateur préférerait avoir rester à sa place, et non autorotation. Ce que je veux dire par là que je voudrais l'image de rester en plein écran, et lorsque l'utilisateur fait pivoter le téléphone l'image est tout simplement une rotation de 90 degrés il apparaît l'image est statique avec le téléphone, pas le reste de l'application.

Était-ce utile?

La solution

Vous pouvez essayer de mettre en œuvre la méthode willAnimateRotationToInterfaceOrientation:duration: dans votre contrôleur de vue et faire tourner le UIImageView dans le sens opposé.

Le code ci-dessous du haut de ma tête, je ne peux pas garantir que cela fonctionnera:

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation duration:(NSTimeInterval)duration {
    CGFloat angle = M_PI/2; // Figure out the proper angle
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:duration];
    imageview.transform = CGAffineTransformMakeRotation(angle);
    [UIView commitAnimations];
}

Autres conseils

Je vous suggère de faire pivoter votre image dans une retouche d'image-logiciel et charger dynamiquement. Ce qui est loin, beaucoup plus facile à faire, que de déconner avec les angles (et le code est plus facile à lire).

Comme ceci:

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {

    if (toInterfaceOrientation == UIInterfaceOrientationPortrait || toInterfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) {

        myBackground.image = [UIImage imageNamed:@"bg.jpg"];            

    } else { // landscape view      

        myBackground.image = [UIImage imageNamed:@"bg_landscape.jpg"];

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