0

collectionView를 헤더에 추가하려고합니다. 컬렉션 뷰 내의 collectionView는입니다. 나는 헤더 설정을 가지고 있는데, 나는이 콜렉션 뷰를 프로그래밍 할 수있는 곳에서 앱을 실행할 때 헤더 부분에 빈 collectionView를 얻는다.collectionView를 헤더에 추가하십시오.

주 수집보기 파일에서 액세스 할 수있는 header.swift 파일에 생성 된 콘센트가 있지만 셀을 구성하고 섹션 수를 설정하지 못합니다. 레이블 일 뿐인 경우 머리글에 여기에 텍스트 등을 설정할 수 있지만 collectionView를 구성하는 방법을 잘 모르겠습니다. 나는 CollectionViewController 파일을 만들고 그냥 헤더의 colectionView에 연결하려고 시도했지만 작동하지 않는다. 해당 collectionView에 대한 하위 클래스를 헤더에 만들려면 어떻게해야합니까?

스위프트 3

답변

0

좋아요를 heres 거래 : 당신이 오른쪽 UICollectionViewDataSource 프로토콜을 구현하는 UICollectionView와 UICollectionViewController 또는있는 UIViewController를 사용하는 것 같아요? 이것은 대량이고 불필요하게 UIViewController를 부 풀릴 것입니다.

더 좋은 방법은 별도의 개체를 만들어 컬렉션보기의 DataSource를 구현하는 것입니다. 하나는 기본 컬렉션보기 용이고 다른 하나는 머리글 컬렉션보기 용입니다. 그렇다면 당신은 그들을 묶어야합니다. 어딘가에 데이터 원본 개체에 대한 참조를 유지해야합니다.

일반적으로보기 컨트롤러의 viewDidLoad에서 컬렉션보기를 가져오고 collectionView.delegate = theDataSourceObject을 호출하십시오.

theDataSourceObject 그런 다음 당신의 UIViewController lazy var myDataSourceObject = MyDataSource()

에 게으른 VAR 될 수있다, 당신은 당신의 헤더 콜렉션 뷰를 만들 때마다, 당신은 또한 데이터 소스를 설정합니다. 내 말이 무슨 뜻인지 이해하면이 대답이 도움이되기를 바랍니다. 그것보다 하나의 것을 배워야한다면, 뷰 컨트롤러가 반드시 UITableView 또는 UICollectionView의 데이터 소스 및/또는 델리게이트 일 필요는 없다.

완전히 다른 개체가 될 수 있습니다. 싱글 톤은 옵션 일뿐 아니라 데이터 소스의 인스턴스 변수를 저장합니다.

관련 문제