CGAffineTransform échelle à la traduction et à sauter avant l'animation

Je suis aux prises avec un problème concernant les CGAffineTransform échelle et translation, où lorsque j'ai mis une transformation dans un bloc d'animation sur une vue qui a déjà de transformer le point de vue des sauts un peu avant d'animer.

Exemple:

//somewhere in view did load or during initialization
var view = UIView()
view.frame = CGRectMake(0,0,100,100)
var scale = CGAffineTransformMakeScale(0.8,0.8)
var translation = CGAffineTransformMakeTranslation(100,100)
var concat = CGAffineTransformConcat(translation, scale)
view.transform = transform

//called sometime later
func buttonPressed() {
    var secondScale = CGAffineTransformMakeScale(0.6,0.6)
    var secondTranslation = CGAffineTransformMakeTranslation(150,300)
    var secondConcat = CGAffineTransformConcat(secondTranslation, secondScale)
    UIView.animateWithDuration(0.5, animations: { () -> Void in 
         view.transform = secondConcat
    })

}

Maintenant, quand buttonPressed() est appelée le point de vue des sauts vers le haut à gauche d'environ 10 pixels avant de commencer à animer. J'ai seulement assisté à cette question avec un concat transformer, à l'aide seulement d'une traduction de transformation fonctionne très bien.

Edit: Depuis que j'ai fait beaucoup de recherches sur la question, je pense que je devrais mentionner que ce problème apparaît indépendamment de si oui ou non la mise en page automatique est activée

Si vous utilisez CGAffineTransformTranslate(secondScale,150,300)?
Le résultat est exactement le même
Ce qui ne "saute un peu"? Est-il de retour à l'identité de transformation? Est-il animer secondConcat de la sauter ou sauter, de retour à concat, animer à secondConcat?
Avez-vous jamais résoudre ce problème? Actuellement, le débogage le même problème ici.
malheureusement, je n'ai pas. J'ai fini par en enroulant une vue à l'intérieur d'une autre afin que je puisse traduire la vue sur l'extérieur et à l'échelle de la vue de l'intérieur. De cette façon j'ai pu contourner le problème.

OriginalL'auteur matteok | 2015-01-13