多次注册双击



我创建了一个识别UIView双击的东西。操作通过选择器发送。但是,它只会注册双击一次。我希望它运行多次。我认为修复它的一种方法是再次将注册的点击设置为 0,或使用计时器或其他东西。我会感谢每一个答案,谢谢。

UITapGestureRecognizer *DoubleClick = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(DoubleClickRegistered:)];
    DobbelKlikk.numberOfTapsRequired = 2;
    [self.view addGestureRecognizer:DobbelKlikk];

我把它抽象出来,以便你可以看到它会起作用。问题是您的选择器中的某些内容与UITapGestureRecognizer

无关
UITapGestureRecognizer *tapRecog = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(weeee)];
tapRecog.numberOfTapsRequired = 2;
[self.view addGestureRecognizer:tapRecog];
- (void)weeee
{
    NSLog(@"Two taps");
    self.wee = !self.wee;
    if (!self.wee) {
        self.view.backgroundColor = [UIColor redColor];
        NSLog(@"Wee is false");
    } else {
        self.view.backgroundColor = [UIColor whiteColor];
        NSLog(@"Wee is true");
    }
}

如果将其添加到项目中(包括weeBOOL 属性并将其设置为 viewDidLoad ),则每次双击时背景颜色都会更改。

关于您的代码,我建议您设置一些断点并弄清楚设置了哪些值以及它们设置了什么。在某个地方,有些事情并没有按照你期望的方式发生。例如,如果isTorchActive永远不会为真,那么它将始终切换到白色。我不知道你在哪里设置它,但这很可能是问题所在。

最新更新