2012-11-08 9 views
5

Voglio ruotare un'IMAGEVIEW utilizzando il seguente codice:perché CGAffineTransformRotate in autolayout sposterà la visualizzazione animata?

[UIView animateWithDuration:.25 animations:^{ 
    self.imageView.transform = CGAffineTransformRotate(self.plusView.transform, M_PI_4); 
}]; 

la cosa cablata è che: se corro questo codice senza layout automatico, ogni cosa va bene. ma quando si usa l'autoapprendimento, la vista dell'immagine sposta un pixel della lettiera prima di ruotare, perché?

risposta

4

Quando si utilizza il layout automatico in Xcode 5, è necessario aggiungere un vincolo per fissare il centro orizzontale e il centro verticale di imageView nel suo contenitore. Se stai usando gli storyboard, questo può essere fatto facilmente con le opzioni dei vincoli. Sarà inoltre necessario correggere la larghezza e l'altezza con i vincoli se non si desidera ridimensionare automaticamente imageView.

Pin the center of a view with constraints in Storyboard

Fix the size of a view with constraints in Storyboard

0

Non ho avuto la reputazione di commentare la risposta di chazzwozzer (il mio account è ripristinato con le recenti modifiche al Facebook login). Quella risposta ha funzionato bene per me ... mettendo il controllo che si stava trasformando in un UIView che aveva diversi vincoli su di esso. Quindi il controllo che si stava trasformando è impostato su Centro orizzontale e verticale in quella vista.

FYI .. lo spostamento su trasformazione NON si è verificato in seguito iOS 8 .. solo su iOS 7.1.

Problemi correlati