【问题标题】:Implement singleTap and doubleTap in Objective-C在 Objective-C 中实现 singleTap 和 doubleTap
【发布时间】:2013-03-22 01:48:45
【问题描述】:

我将 singTap 和 doubleTap 添加到如下代码所示的视图中:

-(void)awakeFromNib{
    [self setUserInteractionEnabled:YES];
    //
    UITapGestureRecognizer *doubleTapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleDoubleTapGesture:)];
    doubleTapGesture.numberOfTapsRequired = 2;
    [self addGestureRecognizer:doubleTapGesture];

    UITapGestureRecognizer *singleTapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTapGesture:)];
    singleTapGesture.numberOfTapsRequired = 1;
    [self addGestureRecognizer:singleTapGesture];
}

-(void)handleSingleTapGesture:(UITapGestureRecognizer *)singleTapGesture{
    [[self delegate] singleTapOnView];
}

-(void)handleDoubleTapGesture:(UITapGestureRecognizer *)doubleTapGesture{
    [[self delegate] doubleTapOnView];
}

当 doubleTap 时,singleTap 也会触发。 doubleTap时如何禁用singleTap?谢谢!

【问题讨论】:

    标签: ios objective-c uitapgesturerecognizer


    【解决方案1】:

    告诉单击识别器它需要双击识别器在触发之前失败:

    [singleTapGesture requireGestureRecognizerToFail:doubleTapGesture];
    

    (这实际上是UIGestureRecognizer docs for this method中的规范示例。)

    【讨论】:

      猜你喜欢
      • 2015-09-29
      • 1970-01-01
      • 2017-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-01
      • 2018-03-28
      相关资源
      最近更新 更多