我正在尝试捕获UINavigationBar
上的触摸事件。当用户点击它时,我打算执行一项操作。但是,我似乎无法捕获此组件上的触摸事件。我的代码看起来像这样...
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self.navigationController.navigationBar action:nil];
singleTap.numberOfTapsRequired = 1;
singleTap.delegate = self;
[self.navigationController.navigationBar addGestureRecognizer:singleTap];
但是,无论何时点击导航栏,都不会调用我的选择器。我在这里做错什么了吗?我需要做一些特殊的事情来捕获此控件上的触摸事件吗?
最佳答案
尝试:
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(doSomething)];
singleTap.numberOfTapsRequired = 1;
//singleTap.delegate = self;
[self.navigationController.navigationBar addGestureRecognizer:singleTap];
-(void) doSomething
{
NSLog(@"doSomething");
}
目标应该是自我(行动的接受者)
动作应该是用于标识所实现方法的选择器