点击 CollectionView Cell 按钮以播放来自特定阵列的声音并从特定阵列复制电影
Posted
技术标签:
【中文标题】点击 CollectionView Cell 按钮以播放来自特定阵列的声音并从特定阵列复制电影【英文标题】:Tap CollectionView Cell button to play sound from specific array and copy movie from specific array 【发布时间】:2016-10-13 11:27:16 【问题描述】:使用 Swift 3
我设置了一个包含 7 个部分的 collectionView - 当用户点击一个单元格(按钮)时,将从一组声音中播放特定的声音。
那么我如何拆分 collectionView 中的部分以匹配特定的声音数组?
例如
1) soundArray1 中的声音将在用户点击 collectionView 部分 1 中的单元格(按钮)时播放
2) soundArray2 中的声音将在用户点击collectionView 第2 部分中的单元格(按钮)时播放
3) soundArray3 中的声音将在用户点击collectionView 第3 部分中的单元格(按钮)时播放
一直到第 7 节。
这是用户点击 cellButton 时的当前代码
@IBAction func cellButton(_ sender: AnyObject)
let sound = (sender as! UIButton).tag
self.setupAudioPlayer(file: peopleSounds[sound] as NSString, type: ".m4a")
self.soundPlayer.play()
其中 peopleSounds 是我在 collectionView 中的第 1 部分的第一个声音数组,它按顺序完美运行 - 但是这个 peopleSounds 数组也被此时 collectionView 中的每个其他部分调用
那么,当用户点击 collectionView 等第 2 节等到第 7 节中的按钮时,我现在如何播放第二组声音?
谢谢
【问题讨论】:
【参考方案1】:将其设为二维数组并将节号存储在变量中。您将能够访问文件名,例如(一般代码):
// the 2d array:
let soundFiles = [[String]]()
// you should change its value by checking the selected cell's section
var currentSection = 0
// somewhere in your code, you can do:
let firstList = soundFiles[currentSection]
let soundFileName = firstList[buttonTag]
希望有所帮助。
【讨论】:
谢谢你 - 我仍然只学习 swift - 这可以再解释一下 - 我将你上面提到的每一段代码放在哪里?欢呼 您应该尝试一下,如果发生任何问题,请询问它。加油以上是关于点击 CollectionView Cell 按钮以播放来自特定阵列的声音并从特定阵列复制电影的主要内容,如果未能解决你的问题,请参考以下文章
点击CollectionView Cell的下半部分时推动ViewController
iOS开发实战——CollectionView中cell的间距设置