6

次のジェスチャレコグナイザーを作成するとします

UITapGestureRecognizer * c1 = [[UITapGestureRecognizer alloc] 
          initWithTarget:self 
          action:@selector([[MyGestureRecognizer ViewWasClicked1:]]; // error 
[c1 setNumberOfTapsRequired:1];
[c1 setNumberOfTouchesRequired:1];
[[self view] addGestureRecognizer:c1];

しかし、別のクラスでセレクターを呼び出したいと思います。私は方法を持っています:

+ (void)ViewWasClicked1:(UITapGestureRecognizer *)sender {    

    NSLog(@"click1 mouse down");

}

クラスMyGestureRecognizerで。私が探しているものは可能ですか?

4

2 に答える 2

14

構文は次のとおりです。

UITapGestureRecognizer * c1 = [[UITapGestureRecognizer alloc] 
      initWithTarget:[MyGestureRecognizer class]
      action:@selector(ViewWasClicked1:)]; // error
于 2012-05-05T02:16:20.643 に答える
1

静的メソッドをチェックして呼び出すには、次のようにします。

SEL staticMethodSelector = @selector(methodName);
if ([[ClassName class] respondsToSelector:staticMethodSelector]) {
    [[ClassName class] performSelector:staticMethodSelector];
}
于 2013-09-25T00:01:25.430 に答える