如何在swift ios中将多个图像添加到自定义表格视图单元格?

时间:2016-12-21 06:00:27

标签: ios uitableview uiimageview swift3

我的自定义表格视图单元格中有一个imageView。我有多个图像复制到Xcode 现在我需要在tableview单元格中显示这些图像。我已经使用了leaderImage变量,我在其中给出了图像名称。

我怎样才能做到这一点?

这就是我所拥有的:

var leaderImage : [String]!

override func viewDidLoad() {

  self.leadername = ["Oomen Chandy","PC.George","Veena George","M.Mukesh"]
  self.areaName = ["Puthupally","Poonjar","Thrissur","Kollam"]
  self.approvalrate = ["98%","94%","88%","95%"]
    self.leaderImage = ["rahul","Anil","Manu",]

    leadTableSetup()
    super.viewDidLoad()

    // Do any additional setup after loading the view.
}

func leadTableSetup(){

    LeadTableView.delegate = self
    LeadTableView.dataSource = self

    self.LeadTableView.register(UINib(nibName: "LeaderBoardTableViewCell", bundle: nil), forCellReuseIdentifier: "leadCell")

}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

    return leadername.count
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

    let cell = tableView.dequeueReusableCell(withIdentifier: "leadCell") as! LeaderBoardTableViewCell
    cell.leaderNameLbl.text = leadername[indexPath.row]
    cell.areaLbl.text = areaName[indexPath.row]
    cell.approvalLabel.text = approvalrate[indexPath.row]
    cell.imageView = leaderImage[indexPath.row]

    return cell
}

1 个答案:

答案 0 :(得分:0)

在单元格cellForRowAt方法

cell.imageView.image = UIImage(named: leaderImage[indexPath.row])

在你的self.leadername包含5个元素中,但是你的所有数组的其余部分包含4或3个元素,这就是你遇到问题的原因。

避免崩溃

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

    return leaderImage.count

}