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

时间:2015-02-27 21:49:30

标签: objective-c xcode ipad uigesturerecognizer

为什么这种方法无法在iPad上运行?

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

NSLog(@"should receive");
 return YES;
}

我已将同一个VC从iPhone Storyboard复制到iPad故事板。

代码很简单,我试图做的就是让NSlog出现。

虽然这适用于iPhone模拟器,但它无法在iPad模拟器上运行(或使用iPad 4检查的真实设备)。

有什么建议可以让它在iPad上运行吗?

我想弄清楚我错过了什么,但没有想到任何事情。

1 个答案:

答案 0 :(得分:0)

<强>故事板

如果您在故事板中添加了手势识别器。 检查是否将其设置为委托..右键单击识别器并将鼠标拖动到视图控制器中。弹出将清楚地显示出来。

enter image description here

IN CODE

如果在代码中添加了识别器,那么只需确保符合协议即可 并设置其代表。

@interface ViewController : UIViewController <XXXGestureRecognizerDelegate>

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

    //other code
}