[英]add sound to swipe gesture recognizer
每當用戶向前或向后滑動時,我都在嘗試播放聲音。
我已經使用IBAction
將聲音添加到我的所有UIButton
,它們在按下按鈕時播放聲音,並且沒有問題。 但是,當我嘗試用滑動手勢執行相同的操作時,它不起作用。 在情節提要中創建了滑動手勢,並且滑動操作正常,但是當我嘗試將手勢識別器掛接到指定應播放聲音的IBAction上時,它仍會滑動但沒有聲音。 我應該使用IBActions來實現此方法嗎?
編輯:經過進一步調查,看來我連接到滑動手勢識別器的方法從未被調用,盡管它說在我按住ctrl並單擊情節提要中的手勢識別器時已與之連接。 我有連接到我的右滑動的方法沒問題,但是似乎無法正確連接到左滑動,因此該方法被調用。
嘗試在主線程上或延遲播放聲音。 在事件線程上嘗試播放聲音可能會導致一些問題。 嘗試一個代碼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];
}
我從未設法弄清為什么沒有調用與滑動相關的方法,但是我只是這么做了,以便在要滑動到的頁面的viewDidLoad中調用所需的聲音。 不是一個完美的解決方案,但是它可以完成工作,而且聽起來還不錯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.