我遇到了一个与手势相关的问题。我使用 UISwipeGestureRecognizer 实现了左右滑动事件,这个功能正常运作。但是,我遇到的问题是在同一视图中的 UISlider 不兼容。滑动滑块的动作被误认为是左右滑动手势。
有人遇到过这个问题吗?有什么想法可以解决它吗?
非常感谢。
以下是视图控制器中包含的代码:
- (void)viewDidLoad {
[super viewDidLoad];
//Setup handling of LEFT and RIGHT swipes
UISwipeGestureRecognizer *recognizer;
recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
[recognizer setDirection:(UISwipeGestureRecognizerDirectionRight)];
[[self view] addGestureRecognizer:recognizer];
[recognizer release];
recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
[recognizer setDirection:(UISwipeGestureRecognizerDirectionLeft)];
[[self view] addGestureRecognizer:recognizer];
[recognizer release];
}
-(void)handleSwipeFrom:(UISwipeGestureRecognizer *)recognizer {
if (recognizer.direction == UISwipeGestureRecognizerDirectionRight) {
NSLog(@"Swipe Right");
//Do stuff
}
if (recognizer.direction == UISwipeGestureRecognizerDirectionLeft) {
NSLog(@"Swipe Left");
//Do stuff
}
}
[panRecognizer setDelegate:self]
这样-而不是UISlider(根据您的命名和类设置等)。另外,回答很棒。 - toblerpwn