6

我有一个UICollectionViewLayout使用 iOS 8 中的自调整大小机制的自定义。我UICollectionViewCell的实现preferredLayoutAttributesFittingAttributes返回他们的首选大小,使用自动布局计算。这工作正常。

但是,我期望preferredLayoutAttributesFittingAttributes也可以为补充意见工作,但它从未被调用。UICollectionReusableView毕竟是定义的。

如果此机制仅适用于单元格,那么在自定义中使用自动布局来调整补充视图大小的正确方法是什么UICollectionViewLayout

4

1 回答 1

3

preferredLayoutAttributesFittingAttributes只要它们符合您的 UICollectionViewLayout 子类中的以下要求(据我所知!),就会在补充视图上调用它们:

  1. 补充视图以非零框架布局prepareLayout
  2. 为补充视图提供了布局属性 layoutAttributesForSupplementaryViewOfKind:atIndexPath:
  3. 补充视图可见layoutAttributesForElementsInRect:
  4. 最后,当elementKind补充collectionView:viewForSupplementaryElementOfKind:atIndexPath:视图通过dequeueReusableSupplementaryViewOfKind:forIndexPath:

总之: UICollectionViewLayout 是一个邪恶的野兽,但如果驯服应该调用你的补充视图的preferredLayoutAttributesFittingAttributes.

于 2016-08-31T02:17:54.117 回答