如何在iOS中使用滑动手势实现页面翻页效果?

3

我需要在iOS上使用滑动手势实现翻页效果。

我已经研究了Leaves项目(https://github.com/brow/leaves),但它不支持滑动手势。

有人成功地使用滑动手势实现了翻页效果吗?

谢谢。


那很好运作。只需要在滑动上加一点动画就完美了。 - jroyce
4个回答

4
使用UISwipeGestureRecognizer和UIViewAnimationTransition。
- (void)handleSwipe:(UISwipeGestureRecognizer *)sender {

    if(sender.state == UIGestureRecognizerStateEnded) {
        [UIView beginAnimations:nil context:NULL];
        [UIView setAnimationDuration:0.3];
        [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:window cache:YES];

        [self.view addSubview:[newView view]];
        [oldView removeFromSuperview];

        [UIView commitAnimations];
    }                  
}
- (void)createGestureRecognizers:(UIView *) target {
    UISwipeGestureRecognizer *rightSwipeRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipe:)];

    [rightSwipeRecognizer setDirection:(UISwipeGestureRecognizerDirectionRight)];
    [target addGestureRecognizer:rightSwipeRecognizer];
    [rightSwipeRecognizer release];
}

1
使用UISwipeGestureRecognizer。实际上没有什么其他要说的,手势识别器很容易。甚至有关于这个主题的WWDC10视频。会议120和121。
苹果公司肯定使用OpenGL ES来实现它。苹果使用的实际API是私有的,但是这个blogger有一个带有示例代码的实现起点。因此,您现在只需点击几下即可在自定义滑动手势中执行页面卷曲。

0

对于页面翻页效果,您可以使用视图转换动画实现。对于滑动手势,请查看使用新的手势识别器类。您还可以设置过渡样式,在呈现新的模态视图控制器时获取其他过渡样式。


0

我不了解页面翻页方面,也不熟悉Leaves,但你可以查看UISwipeGestureRecognizer类的文档以获取更多信息。也许你可以扩展Leaves源代码。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接