0
我创建了一个UIGestureRecognizer
子类,称为LongPressGestureRecognizer
模拟长按手势。 (是的,我知道已经存在,我只是学习Objective-C和试验了一下具体子类)。自定义手势不发送动作消息
我也只覆盖了以下方法:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
self.state = UIGestureRecognizerStatePossible;
[self performSelector:@selector(setState:) withObject:[NSNumber numberWithInt:UIGestureRecognizerStateRecognized] afterDelay:2];
}
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event
{
[NSObject cancelPreviousPerformRequestsWithTarget:self];
self.state = UIGestureRecognizerStateCancelled;
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
[NSObject cancelPreviousPerformRequestsWithTarget:self];
self.state = UIGestureRecognizerStateFailed;
}
在我看来,控制器属性recognizer
存储手势识别器,我有以下代码:
- (LongPressGestureRecognizer *)recognizer
{
if (!_recognizer) {
_recognizer = [[LongPressGestureRecognizer alloc] init];
}
return _recognizer;
}
- (void)viewDidLoad
{
[super viewDidLoad];
[self.recognizer addTarget:self action:@selector(log:)];
[self.view addGestureRecognizer:self.recognizer];
}
- (IBAction)log:(LongPressGestureRecognizer *)recognizer
{
//blah blah blah
}
我的问题是log:
是没有得到所谓的在所有...通过在控制台登录的UIGestureRecogniserState
S,我知道手势识别器正在工作,只要状态而言预计...
我在做什么错在这里?
感谢的人......工作完美:) – Roshan