3

是否可以制作像图像一样的自定义推送视图控制器动画?基本思想是正常推送视图,但不移动当前视图(调用pushViewController...)。

前任

4

2 回答 2

0

当然,这是可以做到的。我做了一个项目,我这样做是这样的:

-(void)slideInController:(RDSlideController *) next {
    next.presentingVC = self;
    next.view.frame = CGRectMake(self.view.frame.origin.x + 320, self.view.frame.origin.y, self.view.frame.size.width, self.view.frame.size.height);
    [self.view.window addSubview:next.view];
    [UIView animateWithDuration:slideTime animations:^{
        next.view.frame = self.view.frame;
    } completion:^(BOOL finished) {
        self.view.window.rootViewController = next;
    }];
}

我滑入的视图控制器是 RDSlideController 的子类(因此我可以拥有 presentingVC 属性和其他一些东西),但这并不是必需的。基本上,您只需实例化新控制器,将其视图的框架设置为右侧的屏幕外,将该视图添加到窗口,然后将框架动画到当前视图的框架。最后,切换视图控制器,使新的视图控制器成为窗口的根视图控制器。

于 2013-02-15T02:11:44.947 回答
0

我们可以通过添加我们想要添加的子视图和动画视图来实现这一点。当我们添加动画以将下一个视图从左边缘移动到右边缘时。反之亦然,删除视图。

于 2013-02-15T05:56:34.133 回答