Re: The simplest way to fade out a view
Re: The simplest way to fade out a view
- Subject: Re: The simplest way to fade out a view
- From: Nick <email@hidden>
- Date: Fri, 20 May 2011 13:35:39 +0300
This sample works exactly as mine - the button remains on the screen
completely opaque and the suddenly disappears after 0.25 secs pass.
(Snow Leopard)
So i guess unless i find time to read that huge guide about Core
Animation and manage to adapt CAAnimation, i will use that approach
with [[myview animator] setAlphaValue:0.0]; and a timer that hides the
view, which was suggested by Chase
2011/5/20 Quincey Morris <email@hidden>:
> On May 19, 2011, at 15:01, Nick wrote:
>
>> No, only fade out (and fade in) effects are needed. I just added frame
>> movement to see if animation works at all. Animation does work, but
>> the fade does not happen - no matter, if the frame is moved
>> simultaneously or not.
>
> Here's my actual code for doing this. It works.
>
>> NSMutableArray* dictionaries = [NSMutableArray array];
>>
>> // Create a dictionary for the animation parameters
>>
>> NSMutableDictionary* dictionary = [NSMutableDictionary dictionaryWithObject: subview forKey: NSViewAnimationTargetKey];
>> [dictionaries addObject: dictionary];
>>
>> // Add a key for the target frame rect, if necessary
>>
>> if (!shouldBeHidden || !NSEqualRects (oldFrameRect, newFrameRect))
>> [dictionary setObject: [NSValue valueWithRect: newFrameRect] forKey: NSViewAnimationEndFrameKey];
>>
>> // If the visibility is changing, add a key for the fade in or out
>>
>> if (!isHidden != !shouldBeHidden)
>> {
>> [dictionary setObject: shouldBeHidden ? NSViewAnimationFadeOutEffect : NSViewAnimationFadeInEffect forKey: NSViewAnimationEffectKey];
>>
>> // Work around a Snow Leopard bug ...
>>
>> if (!shouldBeHidden)
>> [subview setHidden: shouldBeHidden];
>> }
>>
>> // Create the animation
>>
>> NSViewAnimation* viewAnimation = [[NSViewAnimation alloc] initWithViewAnimations: dictionaries];
>>
>> viewAnimation.duration = 0.25;
>> viewAnimation.animationCurve = NSAnimationEaseIn;
>>
>> [viewAnimation startAnimation];
>
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden