1

我想知道这里是否有人知道我如何在我的应用程序中滑动视图。当我在一个视图中时,我想滑动到另一个视图,例如“The Magazine”中的视图。(见图)

希望有人能帮助我。

图片:

在此处输入图像描述 http://bildr.no/view/1361377

4

2 回答 2

1

据我所知,没有“固定”过渡可以滑过。我已经这样实现了:

-(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;
    }];
}

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

在此示例中,我创建了一个控制器类 (RDSlideController),它是我的其他控制器的超类,因此它们都将具有 presentingVC 属性并可以访问我编写的各种滑入和滑出(以及向上和向下)方法。这应该让您了解如何执行此操作。

于 2013-01-06T17:08:42.807 回答
0

看一眼UIPageViewController

这是文档的链接。从 iOS5 开始,它支持页面卷曲过渡。在 iOS6 中,他们添加了幻灯片,就像您在屏幕截图中一样。

如果您需要支持早期版本,您很可能需要创建自己的动画(使用CAAnimation)。

于 2013-01-06T15:47:02.080 回答