콜렉션 뷰 셀에 문제가 있습니다. 내 컬렉션 뷰가 처음로드 할 때, 그 같은 항목을 표시 : 그 방법 내부UICollectionView 재사용 셀 문제
- (UICollectionViewCell *)collectionView:(UICollectionView *)cv cellForItemAtIndexPath:(NSIndexPath *)indexPath;
{
CalendarCell *cell = [cv dequeueReusableCellWithReuseIdentifier:@"CalendarCell" forIndexPath:indexPath];
[cell bindDate:_datesMgr.currentMonthItems[indexPath.row] andNowDate:_datesMgr.nowDate];
// bind events
if (_eventsMgr.eventsArray.count > 0){
for (int i = 0; i < _eventsMgr.eventsArray.count ; i ++) {
[cell bindConference:_eventsMgr.eventsArray[i]];
}
}
return cell;
}
특정 상황에 따라 사용자 정의 셀 클래스에 서브 뷰를 추가하는 논리이다.
모든 것이 작동하지만 컬렉션보기가 다시로드 될 때 (1 초 후에 강제로 다시로드 한 경우) 일부 셀이 재사용되고 다른 위치에 배치되므로 "오래된"이미지와 하위보기가 표시됩니다.
나는 uicollection 뷰가 강제로 셀을 재사용하는 것을 막을 수있는 가능한 해결책을 발견했다. (매번 새로운 셀을로드한다). 이 일을 할 수있는 방법이 있습니까?
'당신이 파단의 새로운 인스턴스를 생성하고 코드에 추가하는이 수단 cell' 정의에 하위 뷰를 추가하는 기존의 콘텐츠를 재설정하기위한
prepareForReuse
방법을 구현하려고? 그렇다면 오래된 하위 뷰가 있으면 제거해야합니다. – Akhilrajtr@Akhilrajtr 정확히 어떻게해야하나요? 내가 그들을 삭제해야하는 경우를 찾으십시오. –
각 하위보기에 특정 태그를 추가하고 해당 태그를 사용하여보기를 제거하거나 특정보기에서 모든 하위보기를 제거하고 다시 추가 할 수 있습니다. 사용자 지정 셀을 사용하고 있으므로 xib 또는 스토리 보드에서 셀을 디자인하고 콘센트를 사용하여 새 인스턴스를 만들고 각 시간을 추가하는 대신 값을 각각 설정할 수 있습니다. – Akhilrajtr