从子类调用UIPanGestureRecognizer touchesBegan的警告

时间:2011-07-11 13:45:35

标签: iphone objective-c ios xcode

在UIPanGestureRecognizer的自定义子类中,当我覆盖touchesBegan:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    [[self view].superview bringSubviewToFront:[self view]];
    [super touchesBegan:touches withEvent:event];
}

超级线路收到警告:

....warning: 'UIPanGestureRecognizer' may not respond to '-touchesBegan:withEvent:'
... Semantic Issue: 'UIPanGestureRecognizer' may not respond to 'touchesBegan:withEvent:'

为什么会这样?

最初尝试解决此问题的方法是根据UIGestureRecognizer的UIGestureRecognizer文档导入'UIGestureRecognizerSubclass.h',但是当我尝试这个时,我得到一个'没有这样的文件或目录'错误。

我已经包含了UIKit.framework,并尝试添加

#import <UIKit/UIKit.h>

但它也不起作用。

我忘记了什么吗?

2 个答案:

答案 0 :(得分:7)

这就是你需要的:

#import <UIKit/UIGestureRecognizerSubclass.h>

此外,here是有关iOS中事件编程的指南,其中包含用于编写手势识别器子类的说明。

答案 1 :(得分:0)

我认为您应该明确导入该文件:

 #import <UIKit/UIGestureRecognizerSubclass.h>

来自UIGestureRecognizer Reference

  

您可以创建UIGestureRecognizer的子类,该子类识别独特的手势 - 例如,“复选标记”手势。如果要创建这样一个具体的手势识别器,请务必导入UIGestureRecognizerSubclass.h头文件。此标头声明子类必须覆盖,调用或重置的所有方法和属性。