同时在几个视图上的NSAnimationContext

时间:2014-07-27 19:46:11

标签: objective-c macos animation nsview nsanimationcontext

我有两个NSViews。我有一个简单的需要,就是将一个视图从屏幕上移开,另一个视图在视图中。

我一直在玩NSAnimationContext并设法实现一个很好的简单动画,但它不会为我的两个视图设置动画。

这是我的代码:

[NSAnimationContext beginGrouping];

    [[NSAnimationContext currentContext] setDuration:1.4];
    [[NSAnimationContext currentContext] setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
    [[NSAnimationContext currentContext] setCompletionHandler:^{
        //...Completion Callback Code goes here...

    }];

    [self.loginView.animator setFrameOrigin:NSMakePoint(self.loginView.frame.origin.x + animViewOffset, self.loginView.frame.origin.y)];
    [self.signUpView.animator setFrameOrigin:NSMakePoint(self.signUpView.frame.origin.x + animViewOffset, self.signUpView.frame.origin.y)];

    [NSAnimationContext endGrouping];

我正在做的就是将两个视图从左向右移动,1000像素(那是animViewOffset)。

正如代码目前一样,它只会为singUpView制作动画。如果我注释掉设置signUpView帧原点的行,则会为loginView设置动画。但它永远不会在一起制作动画。

我怎样才能让它们一起动画?

感谢。

0 个答案:

没有答案