사용자 정의 UICollectionViewCell을 구현 중이며 데이터를 사용하여 데이터를 셀의 서브 뷰를 초기화하는 데 사용할 수 있도록 알고 싶습니다.iOS Subclass UICollectionViewCell 사용자 정의 init 메소드
내가 수행하여 내 MyCollectionViewCell를 등록 ..
[self.collectionView registerClass:[MyCollectionViewCell class] forCellWithReuseIdentifier:@"MyCell"];
다음과 같은 방법
은, 내가 할 ...- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
MyCollectionViewCell* cell = [self.collectionView dequeueReusableCellWithReuseIdentifier:@"MyCell" forIndexPath:indexPath];
내가 직면 해요 문제, 때 셀 ISN ' t 재사용 대기열에서 initWithFrame 메소드를 호출하여 새 셀을 초기화합니다 (문서에서 확인해야 함). 그러나, 나는
-(id) initWithFrame:(CGRect)frame withData: (NSDictionary*) data;
내가 대신 호출 할 내 사용자 정의 메소드를 초기화 싶어 ... 내 MyCollectionViewCell 클래스에서 사용자 지정 init 메소드가 있습니다. 내가 어떻게 그럴 수 있니? 나는 어떤 펜촉도 사용하지 않고 있으며 모든 것을 프로그래밍 방식으로 처리하고 있습니다.
아무런 방법이 없으면 대신 initWithFrame 메서드를 사용해야합니다. 그 데이터를 사용하여 하위 뷰를 초기화 할 수 있도록 모델 데이터를 MyCollectionViewCell에 전달할 수있는 방법은 무엇입니까?
감사합니다.
. 셀을 재사용하는 경우에는 initWith ... anything을 전달하지 않으므로 데이터를 설정하는 것이 init 메소드와 별개이어야합니다. – jrturton
제외하고 initData라고하지 마십시오. configureForData 또는 setData (데이터가 속성 인 경우)를 호출합니다. init ... 메소드는 새로 할당 된 객체에서만 호출되어야합니다. – jrturton
의미가 있습니다. setData를 호출하고 모델 데이터를 전달한 후 UI를 다시로드하기 위해 셀을 트리거하는 방법은 무엇입니까? setNeedsLayout을 호출하고 사용자 정의 셀에 - (void) layoutSubviews 메서드가 있습니까? –