> 
> It should work to do:
> 
> [view layoutSubtreeIfNeeded];
> [NSAnimationContext runAnimationGroup:^(NSAnimationContext *context){
>    context.duration = 0.25; // you can leave this out if the default is 
> acceptable
>    context.allowsImplicitAnimation = YES;
>    [view updateConstraintsAndVariousViewPropertiesForState:state];
>    [view layoutSubtreeIfNeeded];
> } completionHandler:nil];
> 
> This does require layer-backed views.  It may be that you can leave out 
> setting allowsImplicitAnimation if you use the view's animator for the second 
> -layoutSubtreeIfNeeded, but I'm not sure.  Supposedly, the animator turns on 
> implicit animation, but I don't know if that's only when setting animatable 
> properties.


Thanks - that works perfectly, even animates the ‘hidden’ property smoothly 
which I wasn’t getting with the animator proxy. I’ve yanked out most of the 
proxies from the update method, don’t need them and it makes the code scruffy. 

Now I know what I am looking for (NSAnimationContext runAnimationGroup..) I did 
find an example in the docs, however it’s wrong and uses ‘[ NSView 
layoutIfNeeded ]’ for the OSX example instead of layoutSubtreeIfNeeded .. you 
can guess which method I was googling on :(

I’ll add ‘turn on layer-backed views’ to my OSX checklist, it seems like they 
may act more like the world I’m used to. Pleased I learned UIKit first or I 
wouldn’t even know what questions to ask, although even UIKit is slowly 
crufting up. 

One animation to go and it’s shipping time ! 
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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 arch...@mail-archive.com

Reply via email to