1

我有两个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. 但它永远不会让他们俩在一起。

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

4

0 回答 0