开发者

Lion compound animations for full screen

I'm transitioning a window to full screen mode (the new Lion kind of full screen mode). While I do the transition, I'd 开发者_StackOverflowlike to also slide one of the views in my NSWindow to a new position.

So, in my NSWindowDelegate, I've tried returning the window and implementing the custom animation:

- (NSArray *)customWindowsToEnterFullScreenForWindow:(NSWindow *)window
{
    return [NSArray arrayWithObject: window];
}


- (void)window:(NSWindow *)_window startCustomAnimationToEnterFullScreenWithDuration:(NSTimeInterval)duration
{
    // book is NSView *ivar
    [[book animator] setFrame: NSMakeRect(/*computed rect*/)];

}

But this completely kills the default animation of going to full-screen mode and my window suddenly doesn't paint correctly.

Is there some way to compound these while still using the default animation? I'm pretty new to core animation beyond [view animator] level stuff, So I'm sure I'm screwing up something quite simple.


You have to write something like this in order to have the two animations in sync:

- (void)window:(NSWindow *)_window startCustomAnimationToEnterFullScreenWithDuration:(NSTimeInterval)duration
{
    // book is NSView *ivar
    [[NSAnimationContext currentContext] setDuration:duration];
    [[book animator] setFrame: NSMakeRect(/*computed rect*/)];

}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜