![](/img/trans.png)
[英]UIView won't move upon dragging using UIPanGestureRecognizer
[英]Sequential sound upon dragging
我為iPhone構建了一個小型Xylophone應用程序,該應用程序有7個按鈕,每個按鈕在觸摸時都會播放自己的音符。 我想擴展其功能,以便當用戶將手指從頂部按鈕拖至最底部或以其他方式翻轉時,所有音符將按順序播放,就像在鋼琴鍵上拖動手指一樣。
我已經嘗試過添加各種拖動手勢(內部/外部,進入/退出),但是它們都只能通過第一個按鈕來接收動作。 即,將手指拖到第一個按鈕之外時播放第一個聲音,但是當它進入第二個按鈕時則什么也沒有發生。
我試圖將不同的手勢(Touch + Inside + Drag)連接到這個IBAction中:
@IBAction func notePressed(_ sender: UIButton) {
playNote(noteNumber: sender.tag)
}
func playNote(noteNumber : Int) {
let soundURL = Bundle.main.url(forResource: "note\(noteNumber)", withExtension: "wav")
do {
try audioPlayer = AVAudioPlayer.init(contentsOf: soundURL!)
} catch {
print(error)
}
audioPlayer.play()
}
也許應該創建單獨的IBAction? 誰能給我提示我應該去哪里?
這是我的解決方法:
ViewController
類。 檢查panView.swift
文件。 在這里,您將創建事件捕獲器,以監聽“ Swipe Gesture Recognizer
(您需要Swipe Gesture Recognizer
其添加到主故事板中) AVAudioPlaye
對象數組。 使用路徑URL
初始化這些對象,然后將其准備好播放。 請參見prepareSounds()
函數。 這里有更詳細的解釋
如果您在重新創建應用程序時遇到任何麻煩,請告訴我。
歡呼!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.