按钮上的手势识别器

Joe*_*jah 3 iphone xcode objective-c gesture-recognition uigesturerecognizer

我想为按钮实现手势识别器(滑动动作).问题是,按钮是以编程方式创建的,并且根据一些条件存在或不存在.所以,我不知道是否有按钮,或者有多少按钮.

我知道我需要这样的东西:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
    if (touch.view == aButtonView) {
        //get the button's tag
    }
}
Run Code Online (Sandbox Code Playgroud)

当然,当按下任何按钮视图时,if语句应该返回Yes ...

任何人都知道这个词aButtonView应该是什么?或者,如果它甚至可能?提前致谢.

Dee*_*olu 8

你应该考虑使用UISwipeGestureRecognizer实例.将手势识别器附加到按钮对象 -

UISwipeGestureRecognizer *swipe = [[UISwipeGestureRecognizer alloc] initWithTarget:self
                                                                            action:@selector(handleSwipe:)];
swipe.direction = UISwipeGestureRecognizerDirectionUp;
[button addGestureRecognizer:swipe];
[swipe release];
Run Code Online (Sandbox Code Playgroud)

并在 handleSwipe:

- (void) handleSwipe:(UISwipeGestureRecognizer *)swipe {
    NSInteger tag = swipe.view.tag;
}
Run Code Online (Sandbox Code Playgroud)


它应该是 if ( [gestureRecognizer.view isKindOfClass:[UIButton class]] ) {