如何手动使用 FlowLayout 中的estimateSize
Posted
技术标签:
【中文标题】如何手动使用 FlowLayout 中的estimateSize【英文标题】:How to manually use estimatedSize from FlowLayout 【发布时间】:2015-04-06 01:48:41 【问题描述】:在 ios 8 中,我们有机会使用称为估计大小的属性 flowlayout 创建自动调整单元格大小。 但就我而言,我想手动利用这个机会。 但不明白怎么做? 在委托 sizeForItemAtIndexPath 的方法中,我无法调用 dequeueReusableCellWithReuseIdentifier,因为我收到错误
[__NSArrayM objectAtIndex:]: index 0 beyond bounds for empty array
我不明白,如何在 cellForItemAtIndexPath 之前获取 sizeForItemAtIndexPath 中的单元格大小?
collectionViewFlowLayout 的表现如何?
同样在 iOS 8 中,我们获得了 systemLayoutSizeFittingSize,但它也适用于已创建的单元格。
【问题讨论】:
【参考方案1】:我找到了可能的解决方案
+ (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);
【讨论】:
以上是关于如何手动使用 FlowLayout 中的estimateSize的主要内容,如果未能解决你的问题,请参考以下文章
如何解释 Tensorflow DNNRegressor Estimator 模型中的损失函数?
如何使用默认 FlowLayout 在 JPanel 中将 JButton 居中?
如何使用 FlowLayout 确定 UICollectionView 的高度