如何在tableview单元格中输入3个不同的图像?

问题描述 投票:0回答:2

我在tableview单元格中有一个imageview,我有3个不同的图像。

我正在尝试做什么:

我的手机应该是这样的:

img1
img2
img3
img1
img2
img3
img1
.
.

。我该怎么做这个订单?对不起,我的英语不好 :)

这是我的cellofrowat

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        if let jlist = self.joinAllAllowedInnoList, !jlist.isEmpty {
            let cell = tableView.dequeueReusableCell(withIdentifier: "JoinCell", for: indexPath) as! JoinCell

            //--

            cell.delegate = self
            cell.indexPath = indexPath



            //--
            if(indexPath.row % 2 == 0) {
                cell.thubnailImageView.image = UIImage(named:"thumb1")

            }
            else {
                cell.thubnailImageView.image = UIImage(named:"thumb2")
            }

            cell.participationEndDate.text = jlist[indexPath.row].joinEnd
            cell.titleLabel.text = jlist[indexPath.row].shortDesc

            return cell
        }
        else {
            let cell = UITableViewCell()
            cell.selectionStyle = .none
            cell.backgroundColor = .clear
            cell.textLabel?.textAlignment = .center
            cell.textLabel?.textColor = UIColor.black
            cell.textLabel?.text = "nodataavaiable".localized()
            return cell
        }
    }
swift uitableview uiimageview
2个回答
2
投票

正确答案是:

let row = indexPath.row + 1
if row % 3 == 0 {
    // Img3
}
if (row + 1) % 3 == 0 {
    // Img2
}
if (row + 2) % 3 == 0 {
    // Img1
}

0
投票

这是一个简单的逻辑。首先,将三个图像放在一个数组中:

let images = [UIImage(named:"thumb1"), UIImage(named:"thumb2"), UIImage(named:"thumb3")]

使其成为视图控制器的属性。

现在在cellForRowAt你只需:

cell.thubnailImageView.image = images[indexPath.row % 3]

而已。


如果你不想要一个数组,你可以做一些简单的事情:

let imgNum = indexPath.row % 3
if imgNum == 0 {
    // use Img1
} else if imgNum == 1 {
    // use Img2
} else {
    // use Img3
}
© www.soinside.com 2019 - 2024. All rights reserved.