我在xib文件中创建了一个单击并双击手势识别器,我想在一个类别中访问它,但是属性中的xib的引用出口并且它不能插入一个类别中,我可以使用代码来在函数viewDidLoad
中访问手势识别器参考?
答案 0 :(得分:1)
是的,你可以。视图会保留其手势识别器的列表,因此您只需要遍历它们。
for (UIGestureRecognizer *recognizer in self.gestureRecognizers)
{
// You need a way to identify it here
}
在这种情况下,如果您的类别正在扩展视图控制器,您只需要知道哪个视图包含您想要的手势识别器。
@property(nonatomic, copy) NSArray<__kindof UIGestureRecognizer *> *gestureRecognizers;
https://developer.apple.com/documentation/uikit/uiview/1622542-gesturerecognizers?language=objc
编辑:
如果您的类别正在扩展ViewController,请将循环更改为self.view.gestureRecognizers(或您附加到其中的任何其他视图)