点击 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 按钮以播放来自特定阵列的声音并从特定阵列复制电影的主要内容,如果未能解决你的问题,请参考以下文章

iOS 在CollectionView上做展开收起动画

iOS 在CollectionView上做展开收起动画

点击CollectionView Cell的下半部分时推动ViewController

iOS开发实战——CollectionView中cell的间距设置

点击手势在collectionView Cell中不起作用,在故事板添加的单元格上都看不到任何UI元素

ios collectionview 怎么使cell滚动到指定的位置