您可以从以下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。