Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 我有一个按钮和一个手势识别,当按下按钮时,只需要调用一个方法_Iphone_Ios6_Uibutton_Xcode4.5_Uigesturerecognizer - Fatal编程技术网

Iphone 我有一个按钮和一个手势识别,当按下按钮时,只需要调用一个方法

Iphone 我有一个按钮和一个手势识别,当按下按钮时,只需要调用一个方法,iphone,ios6,uibutton,xcode4.5,uigesturerecognizer,Iphone,Ios6,Uibutton,Xcode4.5,Uigesturerecognizer,我有一个按钮和一个手势识别,当按下按钮时,只需要调用一个方法 大多数情况下,只调用手势识别,这很好,但每次都会调用“否”,然后调用按钮,这会导致问题 我有一个视图,然后是一个滚动视图。所有我的按钮都在滚动视图上您可以在视图控制器中实现这一点,并将其分配给手势识别器的代表 - (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer { CGPoint p = [gestureRecognizer

我有一个按钮和一个手势识别,当按下按钮时,只需要调用一个方法

大多数情况下,只调用手势识别,这很好,但每次都会调用“否”,然后调用按钮,这会导致问题


我有一个视图,然后是一个滚动视图。所有我的按钮都在滚动视图上

您可以在视图控制器中实现这一点,并将其分配给手势识别器的代表

- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer {
    CGPoint p = [gestureRecognizer locationInView:self.view];
    UIView *view = [sefl.view hitTest:p withEvent:nil];
    if ([view isKindOfClass:[UIButton class]]) {
        return NO;
    }
    return YES;
}

或者,如果
手势识别器应该开始:
不合适,您可以使用类似的逻辑实现
-(BOOL)手势识别器:(uigesturecognizer*)手势识别器应该接收触摸:(UITouch*)触摸

您可以在视图控制器中实现此操作,并将其分配给手势识别器的代理

- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer {
    CGPoint p = [gestureRecognizer locationInView:self.view];
    UIView *view = [sefl.view hitTest:p withEvent:nil];
    if ([view isKindOfClass:[UIButton class]]) {
        return NO;
    }
    return YES;
}

或者,如果
手势识别器应该开始:
不合适,您可以使用类似的逻辑实现
-(BOOL)手势识别器:(uigesturecognizer*))手势识别器应该接收touch:(UITouch*)touch

非常感谢。对于像我这样的初学者,您不知道如何在代码中分配委托:[识别器setDelegate:self];我知道这不好,但我一直使用自动分配委托人的方式。我希望书籍和教程都能做到这一点。
[recognizer setDelegate:self]
没有问题,只要
self
实现
uigesturecognizer delegate
,非常感谢。对于像我这样的初学者,您不知道如何在代码中分配委托:[识别器setDelegate:self];我知道这不好,但我一直使用自动分配委托人的方式。我希望书籍和教程都能做到这一点。
[recognizer setDelegate:self]
只要
self
实现
UIGestureRecognizerDelegate