Objective c 手势识别器不在iPad上工作,但在iPhone上工作,为什么?

Objective c 手势识别器不在iPad上工作,但在iPhone上工作,为什么?,objective-c,xcode,ipad,uigesturerecognizer,Objective C,Xcode,Ipad,Uigesturerecognizer,为什么这种方法在iPad上不起作用 - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch { NSLog(@"should receive"); return YES; } 我把同样的VC从iPhone情节串连板复制到iPad情节串连板 代码很简单,我所要做的就是让NSlog出现 虽然它在iPhone模拟器上工作,但在iPad模拟器或真实设

为什么这种方法在iPad上不起作用

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
shouldReceiveTouch:(UITouch *)touch {

NSLog(@"should receive");
 return YES;
}
我把同样的VC从iPhone情节串连板复制到iPad情节串连板

代码很简单,我所要做的就是让NSlog出现

虽然它在iPhone模拟器上工作,但在iPad模拟器或真实设备上却不起作用,用iPad4检查

关于我应该怎么做才能让它在iPad上工作,有什么建议吗

我试图找出我错过了什么,但什么也没想到。

故事板

如果您在情节提要中添加了手势识别器。 通过右键单击识别器并将鼠标拖动到视图控制器中,检查是否将其设置为代理。弹出窗口将清楚地显示它

编码

如果识别器是在代码中添加的,那么只需确保您遵守协议即可 并设置其委托

@interface ViewController : UIViewController <XXXGestureRecognizerDelegate>

-(void)viewDidLoad
{
    self.someGestureRecognizer.delegate = self;

    //other code
}

你确定你只是复制了这些文件?我的第一反应是UIGestureRecognitizerDelegate没有设置或设置不正确。嘿,Earl,谢谢你的快速回答,我是通过代码完成的,而且自从ViewController文件用于iPhone和iPad以来,我已经进行了委派。您可能会想到其他选项吗?您是否在类检查器中将ipad情节串连板中显示的视图控制器实例设置为自定义类类型?是的,我有一个Web视图,它在iPhone和ipad中都是完美的加载。webView在故事板上有一个出口,如果有什么问题,可以通过代码连接。iPad上没有调用shouldReceiveTouch方法,这让我发疯。这不是我要问的。你能在viewDidLoad上设置断点并在iPad模拟器上启动应用程序吗?如果IB中的VC被正确地强制转换,您应该看到调试器在断点处停止。如果它没有停止,你有一个问题,然后重新阅读我以前的评论,并按照它说的去做。嘿,厄尔,我明白你在说什么。我确实在ViewDidLoad上设置了一个断点,它停止了,这意味着VC被正确地浇铸。抱歉之前的误解,我想说的是webView是代码定制的,在iPhone和iPad上看起来是一样的,这意味着VC连接到了正确的文件。还有什么问题?谢谢你的帮助。