如何在iOS中使用滑动手势进行页面卷曲?

时间:2011-04-28 14:04:39

标签: iphone ipad

我需要在iOS中使用滑动手势进行Page Curl。

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

有没有人用滑动手势成功实现页面卷曲?

感谢。

4 个答案:

答案 0 :(得分: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 :(得分:1)

使用UISwipeGestureRecognizer。真的没什么可说的,手势识别器很容易。甚至还有关于这个主题的WWDC10视频。第120和121段会议

Apple当然使用OpenGL ES来实现它。 Apple使用的实际API是私有的,但是blogger具有示例代码的实现的开始。因此,现在您只需点击几下即可在自定义滑动手势中执行页面卷曲。

答案 2 :(得分:0)

对于页面卷曲,您可以使用视图过渡动画来完成。对于滑动手势,请查看使用新的手势识别器类。您还可以设置过渡样式,以便在呈现新的模态视图控制器时获取其他一些过渡样式。

答案 3 :(得分:0)

我不知道页面卷曲方面,我不熟悉Leaves,但您可以查看UISwipeGestureRecognizer类文档以获取更多信息。也许你可以扩展Leaves源代码。