因此,我正在尝试向应用程序中屏幕上的一个子视图添加一个滑动手势。我声明手势识别器如下:
UISwipeGestureRecognizer *swiperR = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(switchStackingMode:)];
[swiperR setDirection:UISwipeGestureRecognizerDirectionRight];
[chart addGestureRecognizer:swiperR];
UISwipeGestureRecognizer *swiperL = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(switchStackingMode:)];
[swiperL setDirection:UISwipeGestureRecognizerDirectionLeft];
[chart addGestureRecognizer:swiperL];
-(void)switchStackingMode:(UISwipeGestureRecognizer *)sender {
NSLog(@"inside switchstack from gesture");
//other stuff
}当我试图在应用程序启动时与子视图交互时,只有swipe手势swiperL有效。向右滑动时没有响应。我最初只尝试了一个带有方向(UISwipeGestureRecognizerDirectionLeft | UISwipeGestureRecognizerDirectionRight)的手势识别器,但这不起作用,根据其他堆栈溢出答案,我恢复到两个单独的识别器。仍然没有运气,这让我很困惑。我觉得我好像错过了什么..。
发布于 2012-10-25 04:52:22
我在这里回答了这个问题,Setting direction for UISwipeGestureRecognizer。我认为错误是你不能让你的“操作”名称是相同的,也就是说,不能两个选择器都命名为"switchStackingMode“。使用switchStackingModeRight和switchStackingModeLeft。
发布于 2012-07-19 21:44:05
这段代码应该可以工作。您正在尝试使用设备吗?在模拟器中,滑动手势不是那么容易做到的。
你只能做一个左右都能识别的手势。这种方式适用于右和左或上和下,但不适用于所有方向。
https://stackoverflow.com/questions/11561962
复制相似问题