在我的应用程序中,我的背景滚动条上有一个向上滑动手势识别器,但不知怎么的,它不起作用。这是我在下面的代码
它在视图中DidLoad
UISwipeGestureRecognizer *Swipe = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(SwipeRecognizer:)];
Swipe.direction = UISwipeGestureRecognizerDirectionUp;
[backgroundScroller addGestureRecognizer:Swipe];
它就是SwipeRecognizer:
- (void) SwipeRecognizer:(UISwipeGestureRecognizer *)sender {
if (sender.direction | UISwipeGestureRecognizerDirectionUp){
NSLog(@" *** SWIPE UP ***");
}
}
但是我没有日志。我是不是错过了什么?谢谢
编辑:我发现了问题。当我说没有启用滚动时,我可以识别出这个手势。但我需要同时进行滚动和手势识别。这不可能吗
让你在.h文件中注册UIGestureRecognizerDelegate,如下所示:
@interface yourViewController : UIViewController<UIGestureRecognizerDelegate>
还有
-(void)SwipeRecognizer:(UISwipeGestureRecognizer *)sender{
if (sender.direction == UISwipeGestureRecognizerDirectionUp){
NSLog(@" *** SWIPE UP ***");
}
}
这样试试。如果你没有发布任何NSLog(@" *** SwipeRecognizer ***")
,那么我认为你没有使用SwipeRecognizer。
- (void) SwipeRecognizer:(UISwipeGestureRecognizer *)sender {
NSLog(@" *** SwipeRecognizer ***");
if (sender.direction == UISwipeGestureRecognizerDirectionUp){
NSLog(@" *** SWIPE UP ***");
}
}
我认为这将对你有所帮助。