我有一个手势识别器附加到一个视图,我希望能够单独测试它在敲击时调用的方法。我的手势识别器就是这样创建的......
- (void)setupMyView {
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(myViewTapped)];
self.myView.userInteractionEnabled = YES;
[self.myView addGestureRecognizer:tap];
}
如何访问点按时调用的选择器名称(myViewTapped)?
非常感谢您的智慧!
答案 0 :(得分:4)
不幸的是,UIGestureRecognizer
和UITapGestureRecognizer
都没有公开此信息。
UIControl
会公开allTargets
和allControlEvents
,这基本上就是您要找的内容,但遗憾的是UIGestureRecognizer
因此,如果不使用私有方法,我不相信你想要的东西。
答案 1 :(得分:2)
在方法myViewTapped
,
NSLog(@"method name: %@", NSStringFromSelector(_cmd))
这个也可以打印方法名称,
NSLog(@"%s", __PRETTY_FUNCTION__);