繁体   English   中英

UISwipeGestureRecognizer 在 iOS 模拟器中不起作用

[英]UISwipeGestureRecognizer not working in the iOS simulator

我使用了以下代码,但是当我运行程序时,滑动不起作用。

首先我在界面部分添加了手势识别协议

#import <UIKit/UIKit.h>

@interface BNRViewController : UIViewController <UIGestureRecognizerDelegate>

@property (nonatomic,strong) IBOutlet UILabel *swipe;

@end

现在我在实现部分实例化了滑动手势识别器

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.

    UISwipeGestureRecognizer *swipeUp = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(fingerSwipe:)];

    swipeUp.numberOfTouchesRequired = 3;
    swipeUp.direction = UISwipeGestureRecognizerDirectionUp;
    [self.view addGestureRecognizer:swipeUp];

}

谁能帮我吗

除非您在标签上将userInteractionEnabled设置为 YES ,否则手势识别器将无法工作。 所以你必须添加这一行[swipe setUserInteractionEnabled:YES]; 它正在工作,我已经检查过。

UISwipeGestureRecognizer *swipeUp = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(fingerSwipe:)];

[swipe setUserInteractionEnabled:YES];

swipeUp.numberOfTouchesRequired = 1;
swipeUp.direction = UISwipeGestureRecognizerDirectionUp;
[self.view addGestureRecognizer:swipeUp];

可能为视图定义了 1 个以上的手势

你可以用这个检查;

self.view.gestureRecognizers.count

删除所有手势并添加您的滑动手势,然后重试

self.view.gestureRecognizers?.removeAll()
self.view.addGestureRecognizer(swipeGestureRecognizer)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM