在 Collection 视图 swift 中设置图像和名称 5
Setting Images and Name in Collection View swift 5
所以我尝试在 collection 视图中设置图像及其名称我实现的是我设置了名称但我无法将图像设置为 collection 视图
我在此处设置名称和图标数组
let dataArray = ["Home", "Appointment", "Teleconsultation", "Lab", "Pharmacy", "Registration", "Careers", "Utilities","Feedback"]
var icons : [UIImage] = [UIImage(named: "appointment.png")!, UIImage(named: "telehealth.png")!, UIImage(named: "lab.png")!, UIImage(named: "pharmacy.png")!, UIImage(named: "labreports.png")!, UIImage(named: "laborder.png")!, UIImage(named: "pharmacyorder.png")!, UIImage(named: "logout.png")!]
然后我尝试使用此
将其加载到我的collection视图
我在 collection 视图中获取名称但不是图像
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return dataArray.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "ItemCell", for: indexPath) as! ItemCell
cell.setData(text: self.dataArray[indexPath.row])
cell.setData(UIImageView: self.dataArray[indexPath.row])
return cell
}
这一行在我使用它时给出错误:调用中的参数标签不正确(有 'UIImageView:',预期 'text:')
cell.setData(UIImageView: self.dataArray[indexPath.row])
我的 ItemCell Class
class ItemCell: UICollectionViewCell {
@IBOutlet weak var textLabel: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
self.layer.shadowColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.1).cgColor
self.layer.shadowOffset = CGSize(width: 0.0, height: 3.0)
self.layer.shadowOpacity = 1.0
self.layer.shadowRadius = 10.0
self.layer.masksToBounds = false
self.contentView.layer.cornerRadius = 16.0
}
func setData(text: String) {
self.textLabel.text = text
}
}
这里的错误清楚地表明您的 ItemCell
class 中没有方法 setData(UIImageView:
。将一个添加到接受类型 UIImage
的 ItemCell
class 并实现将图像设置到 imageView 的方法,您就可以开始了。在此之前,请确保单元格已添加 UIImageView
,并且已连接到 ItemCell
中的 @IBOutlet
for imageView
。这是一个例子:
class ItemCell: UICollectionViewCell {
@IBOutlet weak var imageView: UIImageView!
func setData(image: UIImage) {
imageView.image = image
}
}
注意:您也应该在一定程度上修改您的命名约定。
所以我尝试在 collection 视图中设置图像及其名称我实现的是我设置了名称但我无法将图像设置为 collection 视图
我在此处设置名称和图标数组
let dataArray = ["Home", "Appointment", "Teleconsultation", "Lab", "Pharmacy", "Registration", "Careers", "Utilities","Feedback"]
var icons : [UIImage] = [UIImage(named: "appointment.png")!, UIImage(named: "telehealth.png")!, UIImage(named: "lab.png")!, UIImage(named: "pharmacy.png")!, UIImage(named: "labreports.png")!, UIImage(named: "laborder.png")!, UIImage(named: "pharmacyorder.png")!, UIImage(named: "logout.png")!]
然后我尝试使用此
将其加载到我的collection视图我在 collection 视图中获取名称但不是图像 func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { return dataArray.count }
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "ItemCell", for: indexPath) as! ItemCell
cell.setData(text: self.dataArray[indexPath.row])
cell.setData(UIImageView: self.dataArray[indexPath.row])
return cell
}
这一行在我使用它时给出错误:调用中的参数标签不正确(有 'UIImageView:',预期 'text:')
cell.setData(UIImageView: self.dataArray[indexPath.row])
我的 ItemCell Class
class ItemCell: UICollectionViewCell {
@IBOutlet weak var textLabel: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
self.layer.shadowColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.1).cgColor
self.layer.shadowOffset = CGSize(width: 0.0, height: 3.0)
self.layer.shadowOpacity = 1.0
self.layer.shadowRadius = 10.0
self.layer.masksToBounds = false
self.contentView.layer.cornerRadius = 16.0
}
func setData(text: String) {
self.textLabel.text = text
}
}
这里的错误清楚地表明您的 ItemCell
class 中没有方法 setData(UIImageView:
。将一个添加到接受类型 UIImage
的 ItemCell
class 并实现将图像设置到 imageView 的方法,您就可以开始了。在此之前,请确保单元格已添加 UIImageView
,并且已连接到 ItemCell
中的 @IBOutlet
for imageView
。这是一个例子:
class ItemCell: UICollectionViewCell {
@IBOutlet weak var imageView: UIImageView!
func setData(image: UIImage) {
imageView.image = image
}
}
注意:您也应该在一定程度上修改您的命名约定。