我希望能够在UITableViewCell
中放置一个按钮,我可以单击该按钮,并在每行上播放不同的声音文件。为实现这一目标,最好的代码是什么?
这是我的代码:
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
@IBOutlet weak var mytableview: UITableView!
var arrayOfPersons: [Person] = [Person]()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.setUpPersons()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func setUpPersons()
{
let person1 = Person(name: "Anna\nAnna2\nAnna3", number: 60, imageName: "testingimage.jpg", soundButton: "dimsumgirl.mp3")
let person2 = Person(name: "Joes", number: 10, imageName: "testingimage2.jpg", soundButton: "dimsumgirl.mp3")
arrayOfPersons.append(person1)
arrayOfPersons.append(person2)
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
return arrayOfPersons.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell: CustomCell = tableView.dequeueReusableCellWithIdentifier("Cell") as! CustomCell
if indexPath.row % 2 == 0
{
cell.backgroundColor = UIColor.blackColor()
}
else
{
cell.backgroundColor = UIColor.blackColor()
}
let person = arrayOfPersons [indexPath.row]
cell.setCell(person.name, rightlabelInt: person.number, imageName: person.imageName, soundButton: person.soundButton)
return cell
我尝试使用上面的代码,但我似乎无法弄清楚如何将图片改为按钮,并能够用每个按钮播放声音。
真的很感激一些帮助!
谢谢!
答案 0 :(得分:1)
在自定义单元格中,您应该有一个按钮,并在该单元格内部连接触摸事件。在setCell内部使按钮的背景图像成为您传递的图像,并将类变量设置为您传入的声音文件。然后,当触发IBAction触摸事件时,播放类变量中的声音。