我需要在iOS中使用滑动手势进行Page Curl。
我研究了Leaves项目(https://github.com/brow/leaves),但它不支持滑动手势。
有没有人用滑动手势成功实现页面卷曲?
感谢。
答案 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源代码。