gpt4 book ai didi

ios - 图像未出现在 PFQueryCollectionViewController 中

转载 作者:行者123 更新时间:2023-11-28 05:27:57 24 4
gpt4 key购买 nike

我正在开发一个应该在 UICollectionView 中显示图像的 iPhone 应用程序。图像保存在 Parse 云中,我使用 PFQueryCollectionViewController 的子类进行查询并显示图像。

点击 MKMapView 标注会触发显示 CollectionViewController 的转场。第一次显示 CollectionViewController 时,图像不会出现在单元格中。但是,如果我返回到 MapView,然后返回到 CollectionViewController,图像就会出现在单元格中。

如何让图像在第一次出现 PFQueryCollectionViewController 时出现?

这是我的代码:

class PhotoGridCollectionViewController: PFQueryCollectionViewController {

override func viewDidAppear(animated: Bool) {
}

override func viewDidLoad() {
super.viewDidLoad()
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}

// MARK: UICollectionViewDataSource

override func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int {
//#warning Incomplete method implementation -- Return the number of sections
return 1
}

override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
//#warning Incomplete method implementation -- Return the number of items in the section
return self.objects.count
}

override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath, object: PFObject?) -> PFCollectionViewCell? {

let cell = collectionView.dequeueReusableCellWithReuseIdentifier("venuePhotoThumb", forIndexPath: indexPath) as! PhotoGridCollectionViewCell

if let pfObject = object {
cell.imageView.file = pfObject["imageFile"] as? PFFile
cell.imageView.loadInBackground({ (img, err) -> Void in
println("Download complete")
})
}

return cell
}

}

因为我使用的是 Storyboard,所以我通过在属性检查器中设置自定义类 parseClass 来传递它:

enter image description here

如您所见,我正在使用 PFImageViewloadInBackground 方法异步加载图像,我认为这个问题可能是由图像引起的返回单元格后正在下载,但我没有任何其他想法。有谁知道为什么第一次显示 View 时没有显示图像?

最佳答案

我的合作开发者终于找到了这个问题的答案。我们必须为 PFImageViews 设置占位符图像在 cellForItemAtIndexPath 中配置单元格时. Parse 上的代码示例确实包括设置占位符图像,但他们没有说 PFQueryCollectionViewController 需要它。正常工作。我们认为这是一种美感,我们可以稍后再回来。

所以答案是:为了在 PFQueryCollectionViewController 的单元格中正确加载图像在 cellForItemAtIndexPath 中配置单元格时必须提供占位符图像.

这是有效的代码:

let placeholder = UIImage(named: "myPlaceholderImage")  //an image from images.xcassets in your xcode project
cell.imageView.image = placeholder

if let pfObject = object {
cell.imageView.file = pfObject["image"] as? PFFile
cell.imageView.loadInBackground()
}

关于ios - 图像未出现在 PFQueryCollectionViewController 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30240602/

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