簡體   English   中英

向滑動手勢識別器添加聲音

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM