Ho creato una vista di raccolta molto semplice per un progetto di esempio di vista raccolta Apple. Ho una vista raccolta in un controller di visualizzazione nello storyboard e imposto un'etichetta all'interno della cella della vista dell'insieme nella parte in alto a destra della vista dell'insieme. L'ho collegato a IBOutlet nella mia cella personalizzata. Ecco il codice rilevante:UILabel in UICollectionViewCell personalizzato sempre null, non è possibile aggiornare il testo
- (void)viewDidLoad
{
[super viewDidLoad];
[self.workoutView registerClass:[Cell class] forCellWithReuseIdentifier:@"Cell"];
...
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
if (collectionView == self.collView) {
Cell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"Cell" forIndexPath:indexPath];
cell.segmentTitle.text = @"some text";
cell.backgroundColor = [UIColor whiteColor];
return cell;
}
return nil;
}
ho messo un punto di interruzione dopo la parte segmentTitle.text
e segmentTitle è sempre nullo. Di conseguenza, ciò che vedo nel simulatore sono scatole bianche vuote. Cosa mi sono perso?
Rimuovere la riga di registro e utilizzare l'identificatore di riutilizzo dallo storyboard fissato. Grazie! – brodney
Questo funziona. A volte c'è troppa magia nello storyboard. –
Mi spiace cosa intendi con -Type l'identificatore di riutilizzo? Ho cancellato la prima riga ma non riesco a vedere nulla (ha fatto gli altri passaggi) – Signo