Domanda

Ho un UIImageView come immagine di sfondo per la mia domanda, che, come un elicottero in difficoltà, autorotates. Il problema è quando l'orientamento autorotates mia immagine viene spostata in tutto il posto e non mi piace. Dal momento che è un semplice tessitura immagino l'utente preferirebbe averlo rimanere al suo posto, e non Rotazione automatica. Quello che voglio dire è che vorrei l'immagine di rimanere a schermo intero, e quando l'utente ruota il telefono l'immagine è solo ruotata di 90 gradi in modo che appaia l'immagine è statica con il telefono, non il resto dell'applicazione.

È stato utile?

Soluzione

È possibile provare l'attuazione del metodo willAnimateRotationToInterfaceOrientation:duration: nel vostro controller della vista e ruotando la UIImageView nella direzione opposta.

Il codice che segue è dalla parte superiore della mia testa, non posso garantire che funzionerà:

- (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];
}

Altri suggerimenti

Suggerisco di ruotare l'immagine in un'immagine-editing software e caricarlo in modo dinamico. Questo è molto, molto più facile da fare, di fare in giro con gli angoli (e anche il codice più facile da leggere).

In questo modo:

- (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"];

    }
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top