

あるViewControllerにジェスチャーを実装したいのですが、

[code]

    UISwipeGestureRecognizer *gesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(getSwipe:)];
    
    gesture.direction = UISwipeGestureRecognizerDirectionDown;
    
    [self.view addGestureRecognizer:gesture];
    
[/code]

これらのメソッドをこのViewControllerが持つ自作のGestureManagerというクラスに持たせることは可能でしょうか。


CC BY-SA 3.0
2015-08-26T05:24:17.590
14853
2015-08-26T09:30:05.920
8060
question
ios objective-c
UIGestureRecognizerを別クラスで実装したい


「やりかたによる」と答えるしかないように思えます。  
ポイントは、このコードです。

[code]

    [self.view addGestureRecognizer:gesture];
    
[/code]

`UIGestureRecognizer`（のサブクラス）は、`UIView`（のサブクラス）に`add`して、はじめて機能する。このことを忘れなければ、実装を失敗することはないでしょう。


CC BY-SA 3.0
2015-08-26T05:47:02.693
14855
2015-08-26T05:47:02.693
7362
14853
answer


これではダメですか？

[code]

    UISwipeGestureRecognizer *gesture = [[UISwipeGestureRecognizer alloc] initWithTarget:yourManager action:@selector(getSwipe:)];
    
    gesture.direction = UISwipeGestureRecognizerDirectionDown;
    
    [self.view addGestureRecognizer:gesture];
    
[/code]


CC BY-SA 3.0
2015-08-26T09:30:05.920
14866
2015-08-26T09:30:05.920
3574
14853
answer