我需要在iOS中使用滑动手势做页面卷曲。如何在iOS中使用滑动手势卷页?
我已经研究了叶子项目(https://github.com/brow/leaves),但它不支持滑动手势。
有没有人成功实现了页面卷曲的轻扫手势?
谢谢。
我需要在iOS中使用滑动手势做页面卷曲。如何在iOS中使用滑动手势卷页?
我已经研究了叶子项目(https://github.com/brow/leaves),但它不支持滑动手势。
有没有人成功实现了页面卷曲的轻扫手势?
谢谢。
对于页面卷曲,您可以使用视图过渡动画。对于滑动手势,请查看使用新的手势识别器类。您还可以设置当您展示新的模式视图控制器以获得其他过渡样式时的过渡样式。
我不知道页面卷曲的方面,我不熟悉叶子,但你可以看看UISwipeGestureRecognizer
类文档,了解更多信息。也许你可以扩展叶子源代码。
使用UISwipeGestureRecognizer。没有什么可说的,手势识别器很容易。甚至有关于该主题的WWDC10视频。会话120和121
苹果当然使用OpenGL ES来实现它。 Apple实际使用的API是私有的,但这个blogger具有示例代码实现的开始。所以,现在你只需几次点击即可在自定义轻扫手势内执行页面卷曲。
使用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];
}
这工作不错。只需要轻扫一下动画就会很完美。 – jroyce 2012-03-20 21:39:52