我正在尝试使用以下插件进行网格布局。 https://github.com/ecerney/CollectionViewWaterfallLayout
它要求我为实际图像大小的每个单元格返回一个cgsize。
所以我试图用另一个cocoapod插件来达到这个大小:
https://github.com/IMcD23/IMRemoteImageSize/
但是,“getImageSize”是一个异步调用来获取我相信的图像。因此,每次cgsize的返回值都是“nil”。在返回函数执行之前,有没有办法让我获得大小?谢谢!
func collectionView(collectionView: UICollectionView, layout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
let image = images[indexPath.row]
var sizeOfTopCover:CGSize?
UIImage.getImageSize(image.url, completion: {
(size) -> Void in
print("Got size of image: \(image.url): \(size)")
sizeOfTopCover = size
})
return sizeOfTopCover! <<< breaking here
}
答案 0 :(得分:0)
致电时必须知道尺寸
setTimeout(function() {
circle.addClass('active');
}, 300);
但是,当收到所有单元格的大小时,您可以重新加载集合视图。 或者在收到单元格大小时重新加载每个单元格。