添加声音以滑动手势识别器

时间:2013-05-24 17:48:10

标签: ios cocoa-touch

每当用户向前或向后滑动时,我都会尝试发声。

我已经为UIButton的所有IBAction添加了声音,{{1}} s按下按钮时播放声音,并且没有问题。但是,当我尝试用滑动手势做同样的事情时,它不起作用。在故事板中创建滑动手势并且滑动工作正常,但是当我尝试将手势识别器挂钩到指定声音应该播放的IBAction时,它仍然会滑动但是没有声音。有没有不同的方式我应该实现这个而不是IBActions?

编辑:经过进一步研究,看起来我正在连接滑动手势识别器的方法永远不会被调用,尽管当我按住c +单击故事板中的手势识别器时它说它已连接到它。我的方法连接到我的右侧滑动没有问题,但我似乎无法正确连接到左侧滑动以便调用该方法。

2 个答案:

答案 0 :(得分:0)

尝试在主线程上或延迟后播放声音。尝试在事件线程上播放声音可能会导致一些问题。尝试一个代码A或B,让我知道会发生什么:

代码A:

- (void)playAudioOnSwipe {
    // Play the audio here
}

- (IBAction) onSwipe {
    [self performSelector:@selector(playAudioOnSwipe) withObject:nil afterDelay:0.5];
}

代码B:

- (void)playAudioOnSwipe {
    // Play the audio here
}

- (IBAction) onSwipe {
    [self performSelectorOnMainThread:@selector(playAudioOnSwipe) withObject:nil waitUntilDone:NO];
}

答案 1 :(得分:0)

我从来没有弄清楚为什么连接到滑动的方法没有被调用,但我只是为了在被刷到的页面的viewDidLoad中调用所需的声音;不是一个完美的解决方案,但它完成了工作,听起来很不错。