我正在从图库中选择多个图像,并将所有选定的图像放入一个数组中。我想在我的集合视图中显示这些图像。我有一个集合视图,在单元格中我创建了一个imageView。现在我试图将我的图像数组传递给单元格中的图像视图。但是当我点击完成按钮时,它只在集合视图单元格中显示一个图像。我用断点检查我的循环循环工作正常,但它只显示一个图像。如何显示阵列中的所有图像?我的代码是这样的:
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 1
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = uploadDocCollectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! UploadDocsImagesCollectionViewCell
for i in 0..<imagesArray.count{
cell.imageView.image = imagesArray[i]
}
return cell
}
答案 0 :(得分:5)
您无法在一个private ImageSource _cameraImage;
public ImageSource CameraImage
{
get { return _cameraImage; }
set
{
if (_cameraImage != value)
{
_cameraImage = value;
OnPropertyChanged(nameof(CameraImage));
}
}
}
中显示多个图像。您正在迭代图像并将它们分配给单个图像视图。这样每个图像都会替换前一个图像,因此您看到的图像是数组中的最后一个图像。
您需要做的是拥有与图像一样多的单元格,并在每个单元格中显示一个图像。
ImageView
答案 1 :(得分:1)
您应该返回项目数量的图像,并使用indexPath行索引在单元格中设置图像作为图像数组的图像索引。
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return imagesArray.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! UploadDocsImagesCollectionViewCell
cell.imageView.image = imagesArray[indexPath.row]
return cell
}