![](/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.