3

私の UICollectionViewFlowLayout サブクラスには、次のものがあります。

self.headerReferenceSize = CGSizeMake(280, 44);

ただし、ヘッダーは、コレクション ビューの幅である 320 の幅で表示されます。ドキュメントによると、これは正しいです:

レイアウト中は、適切なスクロール方向に対応するサイズのみが使用されます。たとえば、垂直スクロール方向の場合、レイアウト オブジェクトはメソッドによって返された高さの値を使用します。(その場合、ヘッダーの幅はコレクション ビューの幅に設定されます。)

ただし、幅を 280 にする必要があり、コレクション ビューの幅全体には伸びません。どうすればこれをオーバーライドできますか?

4

2 に答える 2

0

サブビューをヘッダーに追加する必要はありません。

320 のコレクション ビューで 280 のヘッダー幅が必要なので、次のように左右に 20 のコンテンツ インセットを適用します。

迅速

YourCollectionView.ContentInset = UIEdgeInsets(top: 0, left: 20, bottom: 20, right: 0)

ザマリン

YourCollectionView.ContentInset = new UIEdgeInsets(0, 20, 0, 20);
于 2016-08-22T17:17:20.497 に答える