UICollectionView:フッターとヘッダーの間にスペースを追加する方法
-
12-12-2019 - |
質問
水平スクロールとヘッダとフッタを備えた標準のフローライアウトクラスを使用して、各セクションのCollectionViewがあります。
フッターとヘッダービューの間にピクセルゼロがあります(セクション間の)。私の間に少し間隔を追加したいのですが、最初のセクションの上または最後のものの後にはしません。だから私はそのスペースをヘッダーとフッタービュー自体に追加するだけではありません。
私は「InterSectionSpacing」のようなものを予想していましたが、明らかにそのような設定はありません。任意のアイデア?
解決
そのための設定がないことがわかります。これは私が終わったものです:
ヘッダービューの内容をヘッダービュー自体の下部に揃えるように設定しているため、ヘッダービューをその内容よりも背が高い場合でも同じ目に見える高さを持つようです(自動レイアウトはこれを本当にこれを作ります簡単)。
その後、UicollectionViewFlowLayoutのこのデリゲートメソッドのセクションインデックスに応じてヘッダの高さを設定します。
#define kHeaderHeight 42
#define kInterSectionMargin 8
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout referenceSizeForHeaderInSection:(NSInteger)section
{
if (section == 0) {
return CGSizeMake(0, kHeaderHeight);
}
return CGSizeMake(0, kHeaderHeight + kInterSectionMargin);
}
.
今すぐセクションの間にはほとんどスペースがありませんが、最初のセクションの前にはありません。
他のヒント
あなたは「交差点スペース」のようなものはありませんが、近いものがあります。
sectionInset
にUICollectionViewFlowLayout
を試してください。
UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];
[flowLayout setSectionInset:UIEdgeInsetsMake(top, left, bottom, right)];
. NIBファイルでヘッダーとフッターの間隔を設定できます。「コレクションビュー」の「サイズインスペクタ」に移動し、ヘッダサイズの高さを望ましい値に設定します。
所属していません StackOverflow