방법/때 방법에 관한 질문이 있습니다 :UICollectionView @required 메서드가 호출되는시기는 언제입니까? 내가 UICollectionView에 노력하고 있어요
- (UICollectionViewCell *)collectionView:(UICollectionView *)asker
cellForItemAtIndexPath:(NSIndexPath *)indexPath;
가 호출됩니다. 그것이 가지고있는 매개 변수는 컨트롤러 뷰에있는 CollectionView 인 UICollectionView입니다. 내가 생각하는 인덱스 경로는 CollectionView에 할당 된 특정 셀의 인덱스 일뿐입니다. 그래서, 내 질문은 :
이 메서드는 언제 호출됩니까? UICollectionView 내부로 스크롤 할 때 호출되고 항목을 채울 필요가 있습니까? 또는 뷰가 인스턴스화 될 때 콜렉션 뷰를 채우도록이 뷰를 호출합니다.
같은보기에 두 개의 UICollectionView가 있으면 어떻게됩니까? 나는이 방법을 사용하고 단지 부를 것이다 :
- (UICollectionViewCell *)dequeueReusableCellWithReuseIdentifier:(NSString *)cell
forIndexPath:(NSIndexPath *)indexPath;
을 두 번 방법 및 상태 두 개의 서로 다른 재사용 식별자의 내 내가 원하는 방법을 활용?
제목과 마찬가지로 @required 메서드가 호출되는 이유는 무엇입니까? 그들은 모두 이런 종류의 패션에서 불려지나요?
도움 주셔서 감사합니다.
감사합니다. Jeff! CollectionView가 처음에 뷰에 나타날 때 UICollectionViewDataSource 프로토콜 중 일부가 실행될 때 모든 메서드가 실행됩니까? 메서드의 numberOfSectionInCollectionView 및 - (NSInteger) collectionView : (UICollectionView *) collectionView numberOfItemsInSection : (NSInteger) 섹션? – Jonathan
일반적으로 그렇습니다. 일부 로그 함수를 삭제하여 직접 테스트 할 수 있습니다. 순서는 확실히 기대하는 것입니다. 즉, numberOfSections 다음에 numberOfItemsInSection과 cellForIndexPath 등이오고 그 다음에 cellForIndexPath 등이옵니다. 일반적으로 셀의 렌더링은 필요할 때만 수행되도록 최적화되어 있기 때문에 뷰 계층 구조에서는 이상한 점이 있습니다. 또는 전환은 어쨌든 보이지 않기 때문에 즉시 * 셀을 요구하지 않을 수도 있습니다. – Jeff