gpt4 book ai didi

ios - 字符串在 UITableView 中重叠显示

转载 作者:行者123 更新时间:2023-11-28 07:48:38 26 4
gpt4 key购买 nike

Check here for picture我添加了一个 ImageView 并将图像添加到 TableView ,但是当我运行应用程序时显示重叠。一旦您尝试向下滚动表格,它就会在另一张图片上显示一张图片。我该如何解决?这是代码。

所以有一个数组显示 atms 的标题和副标题,对于标题的每个实例,我都尝试显示代表它的图片。但是显示器开始相互重叠图片。

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "atmCell", for: indexPath)
var row = 0;

cell.textLabel?.text = AtmList.instance.atms[indexPath.row].title
cell.textLabel?.textColor=UIColor.black
cell.textLabel?.font=UIFont.systemFont(ofSize: 13)
cell.detailTextLabel?.text = AtmList.instance.atms[indexPath.row].subtitle

let cellImage: UIImageView!
cellImage = UIImageView(frame: CGRect(x: 290, y: 39, width: 70, height: 70))
cellImage.layer.cornerRadius = 20
cellImage.layer.masksToBounds=true
cellImage.contentMode = .scaleToFill
cellImage.layer.masksToBounds=true
// cellImage.image
//let imgName = "Icon\((atms[indexPath.row] as AnyObject).object(forKey: "title") as! String)"

if cell.textLabel?.text![(cell.textLabel?.text?.startIndex)!] == "W" {
cellImage.image = UIImage(named: "wemaBank_pin")
}else if cell.textLabel?.text![(cell.textLabel?.text?.startIndex)!] == "A" {
cellImage.image = UIImage(named: "AccessBank_pin")
}else if cell.textLabel?.text![(cell.textLabel?.text?.startIndex)!] == "C" {
cellImage.image = UIImage(named: "CitiBank_pin")
}else if cell.textLabel?.text![(cell.textLabel?.text?.startIndex)!] == "D" {
cellImage.image = UIImage(named: "DiamondBank_pin")
}else if cell.textLabel?.text![(cell.textLabel?.text?.startIndex)!] == "H" {
cellImage.image = UIImage(named: "HeritageBank_Pin")
}else if cell.textLabel?.text![(cell.textLabel?.text?.startIndex)!] == "P" {
cellImage.image = UIImage(named: "ProvidusBank_pin")
} else if (cell.textLabel?.text![(cell.textLabel?.text?.startIndex)!])! == "F" && (cell.textLabel?.text![(cell.textLabel?.text!.index((cell.textLabel?.text?.startIndex)!, offsetBy: 2))!])! == "D" {
cellImage.image = UIImage(named: "FidelityBank_pin")
}else if (cell.textLabel?.text![(cell.textLabel?.text?.startIndex)!])! == "F" && (cell.textLabel?.text![(cell.textLabel?.text!.index(after: (cell.textLabel?.text!.startIndex)!))!])! == "C" {
cellImage.image = UIImage(named: "FCMB_pin")
} else if (cell.textLabel?.text![(cell.textLabel?.text?.startIndex)!])! == "F" && (cell.textLabel?.text![(cell.textLabel?.text!.index((cell.textLabel?.text?.startIndex)!, offsetBy: 5))!])! == "C" {
cellImage.image = UIImage(named: "FCMB_pin")
} else if (cell.textLabel?.text![(cell.textLabel?.text!.startIndex)!])! == "U" && (cell.textLabel?.text![(cell.textLabel?.text!.index((cell.textLabel?.text!.startIndex)!, offsetBy: 3))!])! == "o" {
cellImage.image = UIImage(named: "UnionBank_pin")
}else if cell.textLabel?.text![(cell.textLabel?.text?.startIndex)!] == "G" {
cellImage.image = UIImage(named: "GTBank_pin")
}else if cell.textLabel?.text![(cell.textLabel?.text?.startIndex)!] == "G" && (cell.textLabel?.text![(cell.textLabel?.text!.index((cell.textLabel?.text!.startIndex)!, offsetBy: 1))!])! == "U" {
cellImage.image = UIImage(named: "GTBank_pin")
}else if cell.textLabel?.text![(cell.textLabel?.text?.startIndex)!] == "F" {
cellImage.image = UIImage(named: "FirstBank_pin")
}else if cell.textLabel?.text![(cell.textLabel?.text?.startIndex)!] == "K" {
cellImage.image = UIImage(named: "KeystoneBank_pin")
}else if cell.textLabel?.text![(cell.textLabel?.text?.startIndex)!] == "S" && (cell.textLabel?.text![(cell.textLabel?.text!.index((cell.textLabel?.text!.startIndex)!, offsetBy: 2))!])! == "y" {
cellImage.image = UIImage(named: "skyeBank_pin")
}else if cell.textLabel?.text![(cell.textLabel?.text?.startIndex)!] == "E" {
cellImage.image = UIImage(named: "ecoBank_pin")
}else if cell.textLabel?.text![(cell.textLabel?.text?.startIndex)!] == "Z" {
cellImage.image = UIImage(named: "ZenithBank_pin")
}else if (cell.textLabel?.text![(cell.textLabel?.text?.startIndex)!])! == "U" && (cell.textLabel?.text![(cell.textLabel?.text!.index(after: (cell.textLabel?.text!.startIndex)!))!])! == "b" {
cellImage.image = UIImage(named: "UBA_pin")
}else if cell.textLabel?.text![(cell.textLabel?.text?.startIndex)!] == "U" && (cell.textLabel?.text![(cell.textLabel?.text!.index((cell.textLabel?.text!.startIndex)!, offsetBy: 4))!])! == "y" {
cellImage.image = UIImage(named: "UnityBank_pin")
} else if cell.textLabel?.text![(cell.textLabel?.text?.startIndex)!] == "S" && (cell.textLabel?.text![(cell.textLabel?.text!.index((cell.textLabel?.text!.startIndex)!, offsetBy: 4))!])! == "b" {
cellImage.image = UIImage(named: "StanbicIBTC_pin")
} else if cell.textLabel?.text![(cell.textLabel?.text?.startIndex)!] == "S" && (cell.textLabel?.text![(cell.textLabel?.text!.index((cell.textLabel?.text!.startIndex)!, offsetBy: 4))!])! == "d" {
cellImage.image = UIImage(named: "StandardCharteredBank_pin")
} else if cell.textLabel?.text![(cell.textLabel?.text?.startIndex)!] == "S" && (cell.textLabel?.text![(cell.textLabel?.text!.index((cell.textLabel?.text!.startIndex)!, offsetBy: 3))!])! == "r" {
cellImage.image = UIImage(named: "SterlingBank")
}else if (cell.textLabel?.text![(cell.textLabel?.text?.startIndex)!])! == "S" && (cell.textLabel?.text![(cell.textLabel?.text!.index(after: (cell.textLabel?.text!.startIndex)!))!])! == "U" {
cellImage.image = UIImage(named: "SuntrustBank_pin")
}else if cell.textLabel?.text![(cell.textLabel?.text?.startIndex)!] == "U" && (cell.textLabel?.text![(cell.textLabel?.text!.index((cell.textLabel?.text!.startIndex)!, offsetBy: 4))!])! == "e" {
cellImage.image = UIImage(named: "UBA_pin")
}
cell.addSubview(cellImage)

return cell
}

最佳答案

将高度分配给 UITableViewCell 为:

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 120 // Assign the height as per your view
}

并在 UITableViewCell 上将图像设置为:

    let cellImage = UIImageView(frame: CGRect(x: 290, y: 39, width: 70, height: 70))
cellImage.clipsToBounds = true
cellImage.layer.masksToBounds = true
cellImage.layer.cornerRadius = 20
cellImage.contentMode = .scaleAspectFill

但是您再次在单元格重新加载时创建图像,因此它会重叠。在这种情况下,您应该使用自定义表格单元格 custom_cell_tutorial或者在创建 UIImageView 的新对象之前删除以前的 ImageView :

    for view in cell.contentView.subviews where view is UIImageView {
view.removeFromSuperview()
}

let cellImage = UIImageView(frame: CGRect(x: 290, y: 39, width: 70, height: 70))
cellImage.clipsToBounds = true
cellImage.layer.masksToBounds = true
cellImage.layer.cornerRadius = 20
cellImage.contentMode = .scaleAspectFill

关于ios - 字符串在 UITableView 中重叠显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50294724/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com