6

UICollectionViewLayoutiOS 8 の自動サイズ調整メカニズムを利用するカスタムがあります。私UICollectionViewCellの実装preferredLayoutAttributesFittingAttributesは、自動レイアウトを使用して計算された優先サイズを返します。これはうまくいきます。

preferredLayoutAttributesFittingAttributesただし、補足ビューでも機能することを期待していましたが、呼び出されることはありません。結局上で定義されてUICollectionReusableViewいます。

このメカニズムがセル専用である場合、自動レイアウトを使用してカスタムの補足ビューのサイズを変更する正しい方法は何UICollectionViewLayoutですか?

4

1 に答える 1

3

preferredLayoutAttributesFittingAttributesUICollectionViewLayout サブクラスの次の要件に準拠している限り、補足ビューで呼び出されます (私が知る限り!):

  1. 補足ビューは、ゼロ以外のフレームでレイアウトされますprepareLayout
  2. レイアウト属性は、補足ビュー用に提供されています。 layoutAttributesForSupplementaryViewOfKind:atIndexPath:
  3. 補足ビューは、layoutAttributesForElementsInRect:
  4. 最後に、補足ビューがデキューされたときにelementKindCollectionView で一致することを確認しますcollectionView:viewForSupplementaryElementOfKind:atIndexPath:dequeueReusableSupplementaryViewOfKind:forIndexPath:

要約すると、UICollectionViewLayout は邪悪な獣ですが、飼いならされた場合は、補助ビューのpreferredLayoutAttributesFittingAttributes.

于 2016-08-31T02:17:54.117 に答える