我正在使用XCode为iOS平台开发一个
Cocoa touch应用程序但是却无法找到如何实现一个滑动手势,允许用户向左或向右滑动手指以更改为新的ViewController(nib / xib文件) ).我已经使用按钮和模态转换完成了swapView IBAction,我已经阅读了Apple的TouchGestureRecognizer,但我不知道如何实现允许视图更改的滑动操作.
我不想使用滚动视图,因为我有几十个视图控制器,我希望用户能够轻扫.
这是一个例子:
First View Controller.xib:
SwipeRight-转到第二个View Controller.xib
第二视图Controller.xib:
SwipeLeft-转到第一个View Controller.xib
SwipeRight-转到第三个View Controller.xib
等等
我之前没有使用UISwipe / Touch Gestures,但是我使用IBAction方法使用带模态转换的按钮切换视图(见下文):
-(IBAction)swapViews; { SecondViewController *second2 =[[SecondViewController alloc initWithNibName:@"SecondViewController" bundle:nil]; second2.modalTransitionStyle = UIModalTransitionStyleCoverVertical; [self presentModalViewController:second2 animated:YES]; [second2 release]; }
使用滑动来执行不同格式的类似方法吗?如果是这样,我该如何排序并格式化它.
谢谢
编辑 – 回答每个问题的评论
将它放在viewDidLoad中
UISwipeGestureRecognizer *swipeRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeLeftDetected:)]; swipeRecognizer.direction = UISwipeGestureRecognizerDirectionLeft; [self.view addGestureRecognizer:swipeRecognizer]; [swipeRecognizer release];
- (IBAction)swipeLeftDetected:(UIGestureRecognizer *)sender { NC2ViewController *second2 =[[NC2ViewController alloc] initWithNibName:@"NC2ViewController" bundle:nil]; second2.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; [self presentModalViewController:second2 animated:YES]; [second2 release]; }
然后确保导入要交换使用的otherViewController
#import "SecondViewController"
在主文件的顶部.希望这可以帮助.
结束编辑
解决方法
这听起来像是使用
UIGestureRecognizer或更具体地说
UISwipeGestureRecognizer的完美时间.
有关如何使用它们的更多信息,请阅读“事件处理指南”的Gesture Recognizers部分.