Choppy Core Animation
Choppy Core Animation
- Subject: Choppy Core Animation
- From: Hasani Hunter <email@hidden>
- Date: Thu, 1 Nov 2007 18:14:32 -0500
Fellow list members..
I have been round and round with my choppy resize animation.
Basically I have a custom view in IB that contains 3 subviews. I am
trying the iTunes "show/hide" artwork effect. Basically I have a
NSTableView that is wrapped in a custom nsview that displays financial
transactions and the view underneath displays a detailed view of the
selected transaction. To trigger the resize, the user just double-
clicks the transaction and I resize both custom nsviews. shrinking the
deatil view down and expanding the transaction view so that the
transaction nstableview takes up any remaining space. I am guessing
that I am redrawing excessively which might be causing the
"choppiness". I am open to any and all suggestions. I have pasted the
relevant code below.
Thanks,
Hasani
Utilities.m -----------------------------------------------------------
/**
* Sets the frame for a view with animation.
*/
+(void)setFrameForViewWithAnimation:(NSView *)view frame:(NSRect)frame
{
if ( [ view wantsLayer ] )
{
[ [ view animator ] setFrame:frame ];
}
else
{
NSRect startFrame = [ view frame ];
// create the dictionary..
NSMutableDictionary *animationDictionary = [ [ NSMutableDictionary
alloc ] init ];
// set the target
[ animationDictionary setObject:view
forKey:NSViewAnimationTargetKey ];
// set the starting size..
[ animationDictionary setObject:[ NSValue valueWithRect:startFrame ]
forKey:NSViewAnimationStartFrameKey ];
// set the end frame
[ animationDictionary setObject:[ NSValue valueWithRect:frame ]
forKey:NSViewAnimationEndFrameKey ];
// construct the animation..
NSViewAnimation *animation = [ [ NSViewAnimation alloc ]
initWithViewAnimations:[ NSArray
arrayWithObject:animationDictionary ] ];
// set the duration of the animation..
[ animation setDuration:0.25 ];
[ animation startAnimation ];
[ animation release ];
}
}
_______________________________________________
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