具体情况如下:有一个imageview,imageview下面有一排button,每个button对imageview上的image进行不同的算法处理。button是动态添加的,在和它相连的action中(这个action暂且命名为- (IBAction)processImage : (id) sender ),根据button的不同tag进行相应的switch判断,来确定是执行什么样的算法。
现在的问题是:添加了一个UISwipeGestureRecognizer手势,希望能够实现swipe一下imageview(当然也有可能是self.view,这个不是重点)自动处理下一个button相应的算法。
那么该如何实现呢?
------解决方案--------------------
楼主,UISwipeGestureRecognizer会有一个你自定义的监听事件,在这个事件里,把你的当前的button tag +1,然后调用特定tag的算法,你可以算法单独写成方法
------解决方案--------------------
- C/C++ code
UISwipeGestureRecognizer *swipeGestureRecognizer = nil; swipeGestureRecognizer = [[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipe:)] autorelease]; [swipeGestureRecognizer setDirection:UISwipeGestureRecognizerDirectionUp]; [self.view addGestureRecognizer:swipeGestureRecognizer]; swipeGestureRecognizer = [[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipe:)] autorelease]; [swipeGestureRecognizer setDirection:UISwipeGestureRecognizerDirectionDown]; [self.view addGestureRecognizer:swipeGestureRecognizer]; swipeGestureRecognizer = [[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipe:)] autorelease]; [swipeGestureRecognizer setDirection:UISwipeGestureRecognizerDirectionLeft]; [self.view addGestureRecognizer:swipeGestureRecognizer]; swipeGestureRecognizer = [[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipe:)] autorelease]; [swipeGestureRecognizer setDirection:UISwipeGestureRecognizerDirectionRight]; [self.view addGestureRecognizer:swipeGestureRecognizer];-(void)swipe:(UISwipeGestureRecognizer *)swipeGestureRecognizer{ switch (swipeGestureRecognizer.direction) { case UISwipeGestureRecognizerDirectionUp: NSLog(@"UISwipeGestureRecognizerDirectionUp"); //your method break; case UISwipeGestureRecognizerDirectionDown: NSLog(@"UISwipeGestureRecognizerDirectionDown"); //your method break; case UISwipeGestureRecognizerDirectionLeft: NSLog(@"UISwipeGestureRecognizerDirectionLeft"); //your method break; case UISwipeGestureRecognizerDirectionRight: NSLog(@"UISwipeGestureRecognizerDirectionRight"); //your method break; default: break; }}