0

CollectionViewをコレクションビューのヘッダに追加しようとしています。 collectionView内のcollectionView私はと思います。ヘッダーの設定があり、アプリケーションを実行するとヘッダー部分に空のコレクションビューが表示されますが、どこでこのコレクションビューをプログラムできますか。コレクションビューをヘッダに追加

メインのcollectionViewファイルでアクセスできるheader.swiftファイルに作成されたコンセントがありますが、セルを設定したり、セクション数などを設定することはできません。ヘッダーではここにテキストなどを設定することができましたが、ここでcollectionViewをどのように設定するかはわかりません。 私はCollectionViewControllerファイルを作成しようとしましたが、ヘッダー内のcolectionViewにリンクしていますが、それは動作しません。そのコレクションビューのサブクラスをヘッダーに作成するにはどうすればよいですか?

スウィフト3

答えて

0

わかりましたHERESに取り引き:私はあなたが正しい、UICollectionViewDataSourceプロトコルを実装UICollectionViewでUICollectionViewControllerまたはのUIViewControllerを使用すると思いますか?これは大量かつ不必要にあなたのUIViewControllerを膨らませます。

より良い方法は、コレクションビューのDataSourceを実装する別のオブジェクトを作成することです。 1つはメインコレクションビュー用、もう1つはヘッダーコレクションビュー用です。その後、それらを結線するだけです。データソースオブジェクトへの参照をどこかに保持する必要があります。

通常、ビューコントローラのviewDidLoadでは、コレクションビューを取得し、collectionView.delegate = theDataSourceObjectを呼び出します。

theDataSourceObjectは、その後、あなたのUIViewController lazy var myDataSourceObject = MyDataSource()

で怠惰VAR可能性があり、あなたがあなたのヘッダーコレクションビューを作成どこでも、あなたはまた、そのデータソースを設定します。私は何を意味するのか理解していただき、この回答があなたに役立つことを願っていますあなたのビューコントローラが、必ずしもあなたのUITableViewまたはUICollectionViewのデータソースおよび/またはデリゲートである必要はありません。

これらは全く異なるオブジェクトです。シングルトンは、データソースのインスタンス変数を格納するだけでなくオプションになります。

関連する問題