On 19 Aug 2012, at 00:18, Matt Neuburg <[email protected]> wrote:
> On Mon, 06 Aug 2012 00:11:39 +0700, "Gerriet M. Denkmann"
> <[email protected]> said:
>> I use this code (iOS 5.1):
>> CGAffineTransform m = { c, +s, -s, c, 0, 0 }; // rotation, s =
>> sin(angle), c = cos(angle)
>> CALayer *layer = self.view.layer; // view is UIView, self is
>> subclass of UIViewController
>> [ CATransaction begin];
>> [ CATransaction setAnimationDuration: 9 ];
>> [ layer setAffineTransform: m ];
>> [ CATransaction commit];
>> The view rotates ok, but does it instantly, instead of taking 9 seconds.
>>
>> What am I doing wrong?
>
> You are attempting to use implicit property animation (setAffineTransform:)
> on a view's primary layer. You can't do that; the property will change, but
> it won't animate. To get animation on that particular layer, you must use
> explicit animation (CABasicAnimation) or view animation. Explained here:
>
> http://www.apeth.com/iOSBook/ch17.html
I am now using view animation (as explained in your book chapter 17
"Block-Based View Animation").
[ UIView animateWithDuration: duration
animations: ^
{
self.view.transform =
newTransform;
}
];
CABasicAnimation works as well, but requires more code.
Kind regards,
Gerriet.
_______________________________________________
Cocoa-dev mailing list ([email protected])
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com
This email sent to [email protected]