我在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
}
}
正确答案是:
let row = indexPath.row + 1
if row % 3 == 0 {
// Img3
}
if (row + 1) % 3 == 0 {
// Img2
}
if (row + 2) % 3 == 0 {
// Img1
}
这是一个简单的逻辑。首先,将三个图像放在一个数组中:
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
}