前提・実現したいこと
collectionViewControllerのヘッダーを2つのセクションのヘッダーを組み合わせて作っています。
最初はうまくいってるのですが、下にスクロールしてsection2のプロフィール画像が画面外に出た後に元に戻すとsection1のヘッダーがsection2のヘッダーの上に被さってプロフィール画像が隠れてしまいます。
section1のヘッダーがsection2のヘッダーの上にこないように最初の状態を保ちたいのですが、どうしたらいいでしょうか?
該当のソースコード
// headerの用意 override func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView { if indexPath.section == 0 { let topHeader = collectionView.dequeueReusableSupplementaryView(ofKind: kind, withReuseIdentifier: header1, for: indexPath) as! Header1 guard let user = currentUser else {return topHeader} topHeader.user = user return topHeader } else { let bottomHeader = collectionView.dequeueReusableSupplementaryView(ofKind: kind, withReuseIdentifier: header2, for: indexPath) as! Header2 return bottomHeader } } // override func numberOfSections(in collectionView: UICollectionView) -> Int { return 2 } //2つ目のセクションの場合itemは0にする(section1とsection2のヘッダーをくっつけて1つのヘッダーにするため) override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { if section == 0 { return 0 } else { return 40 } } // func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, referenceSizeForHeaderInSection section: Int) -> CGSize { if section == 0 { return CGSize(width: view.frame.width, height: 200) } else { return CGSize(width: view.frame.width, height: 300) } }
あなたの回答
tips
プレビュー