您可以从以下libk下载代码示例:
https://github.com/mriddi/ExempleCustomGestureRecognizer.git

我创建我的cusom手势识别器类,如下所示:

@protocol MyGestureRecognizerDelegate <UIGestureRecognizerDelegate>
@optional
-(void) willDo;
@end

@interface MyGestureRecognizer: UIGestureRecognizer
{
    …
}
@property (nonatomic, assign) id <MyGestureRecognizerDelegate> delegate;
…
@end

@implementation MyGestureRecognizer
@synthesize delegate;
…
-(void) call{
    [delegate willDo];
}
…
@end


我的ViewController采用MyGestureRecognizerDelegate协议。
ViewController中,创建类的实例:

MyGestureRecognizer * grFerst;
MyGestureRecognizer * grSecond;
grFerst.delegate=self;
grLeft.delegate=self;
[self.view addGestureRecognizer: grFerst];
[self.view addGestureRecognizer: grSecond];


我想使两个手势识别器实例同时工作。
我尝试添加到我的ViewController方法中

shouldRecognizeSimultaneouslyWithGestureRecognizer

但是此方法从不调用,我使用NSLog函数进行了检查。

请帮助我解决此问题(允许同时使用两个手势识别器)。

最佳答案

也许您应该分配手势

MyGestureRecognizer * gesture = [[MyGestureRecognizer alloc] initWithTarget:self action:nil];
gesture.delegate = self;
[self.view addGestureRecognizer:gesture];


或者,您可以将控制轮用作目标并在那里进行所有角度计算。然后,您委托回到mainViewController。

08-27 19:02
查看更多