Ios 像在杂志上那样的幻灯片视图

Ios 像在杂志上那样的幻灯片视图,ios,uiview,slide,Ios,Uiview,Slide,我想知道这里是否有人知道我如何在应用程序中滑动视图。当我在一个视图中时,我想滑动到另一个视图,如“杂志”中的视图。(见图) 希望有人能帮助我 图片: 看看UIPageViewController 这是给医生的一封信。从iOS5开始,它支持页面卷曲转换。在iOS6中,他们添加了幻灯片,就像你在屏幕截图上看到的那样 如果需要支持早期版本,则很可能需要创建自己的动画(使用CAAnimation) 看看UIPageViewController 这是给医生的一封信。从iOS5开始,它支持页面卷曲转换。在

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

希望有人能帮助我

图片:


看看
UIPageViewController

这是给医生的一封信。从iOS5开始,它支持页面卷曲转换。在iOS6中,他们添加了幻灯片,就像你在屏幕截图上看到的那样


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

看看
UIPageViewController

这是给医生的一封信。从iOS5开始,它支持页面卷曲转换。在iOS6中,他们添加了幻灯片,就像你在屏幕截图上看到的那样


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

据我所知,没有一个“固定”的转换可以进行滑动。我已经这样实现了它:

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

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

据我所知,没有“固定”的转换可以进行滑动。我已经这样实现了它:

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

在本例中,我创建了一个控制器类(RDSlideControl),它是我的其他控制器的超类,因此它们都具有presentingVC属性,并可以访问我编写的各种滑入和滑出(以及向上和向下)方法。这应该会让你知道如何做到这一点。

看起来OP需要一个幻灯片效果。添加到页面视图控制器(称为scroll)的新转换无法实现这一点。它更像是一个水平滚动视图——当新视图移入时,一个视图移出。看起来OP想要一个滑动效果。添加到页面视图控制器(称为scroll)的新转换无法实现这一点。它更像是一个水平滚动视图——一个视图向外移动,而新视图向内移动。@eplefrik,这只是一个如何实现这一点的示例。slideTime只是一个int——您需要在某个地方设置它的值,而presentingVC是RDSlideControl的一个属性。你需要根据自己的情况调整事情。@eplefrik,这只是一个如何做到这一点的例子。slideTime只是一个int——您需要在某个地方设置它的值,而presentingVC是RDSlideControl的一个属性。你需要根据自己的情况调整事情。