【问题标题】:I want to remove gesture when i click on object of a class当我单击类的对象时,我想删除手势
【发布时间】:2015-05-05 05:56:42
【问题描述】:

就我而言,我会尝试下面的代码,但它不起作用。

- (void) handleTouch:(UITapGestureRecognizer *) gesture
{
   CGPoint touchPoint = [gesture locationInView:self.view];

   NSArray *viewsAtPoint = [self viewsAtPoint:touchPoint];

   for(TheifView * aView in viewsAtPoint)
   {
     [aView removeFromSuperview];
   }
}


- (void) registerGesture
{
   UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTouch:)];
   tapGesture.numberOfTapsRequired = 1;
   [self.view addGestureRecognizer:tapGesture];
}

【问题讨论】:

  • 欢迎来到 StackOverflow!除了“不工作”之外,请提供更具体的信息。

标签: ios objective-c iphone ios7 ios5


【解决方案1】:

可以通过以下代码删除手势目标和选择器

[gesture removeTarget:self action:@selector(handleTouch:)];

【讨论】:

    【解决方案2】:

    将标签放到 ThiefView...比如 111。然后你可以识别它并从 self.view 中删除。如果这不是您期望的答案,请用清晰的描述进行解释。

    //用于从视图中移除手势..

    for (UIGestureRecognizer *recognizer in self.view.gestureRecognizers) {
                if ([recognizer isKindOfClass:[UITapGestureRecognizer class]]) {
                    [self.view removeGestureRecognizer:recognizer];
                }
            }
    

    //用于从视图中移除 ThiefView

        for (UIView *subview in self.view.subviews) {
            if (subview.tag==111) {
                [subview removeFromSuperview];
            }
        }
    

    【讨论】:

      【解决方案3】:

      完全删除它

      - (void) handleTouch:(UITapGestureRecognizer *) gesture
      {
        [self.view removeGestureRecognizer:gesture];
      }
      

      移除它的目标

      - (void) handleTouch:(UITapGestureRecognizer *) gesture
      {
        [gesture removeTarget:self action:@selector(handleTouch:)];
      }
      

      禁用手势

      - (void) handleTouch:(UITapGestureRecognizer *) gesture
      {
        gesture.enabled=NO;
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-05-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-18
        • 1970-01-01
        • 2017-05-14
        相关资源
        最近更新 更多