Ios8 如何从FlowLayout手动使用estimatedSize

Ios8 如何从FlowLayout手动使用estimatedSize,ios8,uicollectionview,size,uicollectionviewcell,uicollectionviewlayout,Ios8,Uicollectionview,Size,Uicollectionviewcell,Uicollectionviewlayout,在iOS 8中,我们有机会使用名为estimated Size的属性flowlayout创建自动调整大小的单元格。 但在我的情况下,我想手动利用这个机会。 但我不明白怎么做? 在委托sizeForItemAtIndexPath的方法中,我不能调用dequeueReusableCellWithReuseIdentifier,因为我得到了一个错误 [__NSArrayM objectAtIndex:]: index 0 beyond bounds for empty array 我不明白,在cel

在iOS 8中,我们有机会使用名为estimated Size的属性flowlayout创建自动调整大小的单元格。 但在我的情况下,我想手动利用这个机会。 但我不明白怎么做? 在委托sizeForItemAtIndexPath的方法中,我不能调用dequeueReusableCellWithReuseIdentifier,因为我得到了一个错误

[__NSArrayM objectAtIndex:]: index 0 beyond bounds for empty array
我不明白,在cellForItemAtIndexPath之前,如何在SizeFormatindeXPath中获得单元格的大小

它如何进行collectionViewFlowLayout


同样在iOS 8中,我们得到了systemLayoutSizeFittingSize,但它也适用于已经创建的单元格。

我找到了可能的解决方案

+ (CGSize)sizeForViewFromNib:(NSString *)nibName width:(CGFloat)width userData:(id)userData {
        UIView *view = viewFromNib(nibName, nil);
    [view configForUserData:userData];
    CGSize size = [view systemLayoutSizeFittingSize:CGSizeMake(width, SOME_MIN_SIZE) withHorizontalFittingPriority:UILayoutPriorityRequired verticalFittingPriority:UILayoutPriorityFittingSizeLevel];
    return CGSizeMake(width, size.height);
}
这里指的是
UIView*view=viewFromNib(nibName,nil)