iOS view transform-animation
Ich bin wahrscheinlich etwas fehlt einfach, aber versuchen zu tun, ein einfaches "Ken Burns Effekt" mit einem Bild anzeigen.
Zuerst der code:
[UIView animateWithDuration:20
delay:2
options:UIViewAnimationCurveLinear
animations:^{
CGAffineTransform move = CGAffineTransformMakeTranslation(40, 40);
CGAffineTransform zoom = CGAffineTransformMakeScale(1.2, 1.2);
CGAffineTransform transform = CGAffineTransformConcat(zoom, move);
self.imageView.transform = transform;
}
completion:^(BOOL finished){
NSLog(@"Done");
}];
Ich erwartete, diese zu beginnen mit dem Bild anzeigen, bei "normalen" und erweitern Sie es zu 120% der Größe über 20 Sekunden. Was tatsächlich passiert, ist, dass es beginnt sofort, die kleiner als die normale Größe, dann erweitert, um die normale Größe.
Wenn ich den Kehrwert der scale-Wert, es beginnt, vergrößert und dann zoomt wieder heraus auf die normale Waage, die das Gegenteil von dem Effekt, den ich will.
Irgendwelche Ideen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ok, das hat tatsächlich funktioniert und tut was ich will.
Es klingt wie die Sicht wird wieder ausgelegt von der übergeordneten Ansicht in Antwort auf die änderung verwandeln, Gehäuse-es verkleinert werden, um das Ergebnis der Transformation, sobald die Transformation wird in der animation block. Der Schlüssel ist, dass Ihre erste Versuch, die änderungen direkt in der Ansicht, während der zweite Ansatz arbeitet mit der layer.
Haben Sie versuchen, ausgehend von der aktuellen Transformation Ihrer Bildansicht ?