2010-11-12 4 views
0

Salut tout le monde. J'ai un petit problème ici. Je veux juste faire évoluer mon point de vue, mais seulement pour monter. Je veux dire, je ne veux pas le sortir des cordes d'origine, je veux juste à l'échelle dans une direction, sans affecter la position.Obj. C: Comment passer à l'échelle supérieure?

[UIView beginAnimations: @"myViewAnimation" context: nil]; 
    [UIView setAnimationDuration:1.0]; 


    redView.transform = CGAffineTransformMakeScale(1.0, 3.0); 

    [UIView commitAnimations]; 

Merci!

Répondre

0

L'origine de toutes les transformées UIView est le point d'ancrage de la couche, qui est au centre de la vue par défaut. Set Anchorpoint à CGPointZero donc vue sera mise à l'échelle à droite et vers le haut et sa position actuelle sera fixé:

redView.layer.anchorPoint = CGPointZero; 
... 

UIView beginAnimations: @"myViewAnimation" context: nil]; 
[UIView setAnimationDuration:1.0]; 

redView.transform = CGAffineTransformMakeScale(1.0, 3.0); 

[UIView commitAnimations]; 

Notez également est calculé le cadre de ce point de vue en utilisant Anchorpoint de sa couche de sorte que vous devrez peut-être ajuster également le cadre de votre vue En conséquence

Pour accéder au calque de la vue, vous devez ajouter QuartzCore.framework pour créer un lien avec votre projet et importer le fichier d'en-tête <QuartzCore/QuartzCore.h>.

+0

Hé, je comprends. Mais il me donne une erreur 'Acessing inconnu' anchorPoint 'composant d'une propriété.' –

+0

Voir la mise à jour - probablement vous devez importer un en-tête ... – Vladimir

+0

Merci, ça marche! –