如何手动使用 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 的高度

FlowLayout 的意外行为

如何删除关于 n_estimators 的未来警告将从 0.20 版本中的 10 更改为 0.22 中的 100?

如何从检查点使用 tf.estimator.Estimator 进行预测?