如何一起检测两个手势并执行操作?

时间:2014-07-22 07:45:08

标签: ios iphone objective-c xcode uigesturerecognizer

我在Interface Builder上设计了两个UIImageView

View A”和“View B

我使用View A编写了“TapGesture”,当我点击它时,它可以播放“声音A”。

使用View B对“TapGesture”进行编程,但无法使用Tap播放声音。

但是我不知道如何编程一个动作[当我拿着“View B”然后点击“View A”时,它可以播放“Sound B”]

如何编程?我应该在“View B”上使用TapGesture吗?或更改为LongPressGesture

感谢!!!!!

(抱歉,我的英语不好)

1 个答案:

答案 0 :(得分:0)

添加长按手势识别器应该是最好的方法。 步骤1,在视图B中添加长按手势,然后按住它以供进一步使用(例如,将其另存为视图控制器的属性)

UILongPressGestureRecognizer *longPressGestureRecognizer = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressed:)];
[viewB addGestureRecognizer:longPressGestureRecognizer];
self.longPressGestureRecognizer = longPressGestureRecognizer;

第2步,扩展view-A-tapped-action

- (void)viewATapped:(UITapGestureRecognizer *)tapGestureRecognizer
{
    UIGestureRecognizerState stateOfLongPressGestureRecognizer = self.longPressGestureRecognizer.state;
    if (stateOfLongPressGestureRecognizer == UIGestureRecognizerStateChanged) {
        // play sound B
    }
    else {
        // play sound A
    }
}