2013-04-05 3 views
16

Я создал представление коллекции очень просто для примера проекта коллекции коллекции Apple. У меня есть представление коллекции в контроллере представления в раскадровке и установите метку внутри ячейки представления коллекции в верхней правой части представления коллекции. Я подключил это к IBOutlet в своей пользовательской ячейке. Вот соответствующий код:UILabel в пользовательском UICollectionViewCell всегда null, не может обновить текст

- (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; 
} 

я поставил точку останова после segmentTitle.text части и segmentTitle всегда нуль. Соответственно, то, что я вижу в симуляторе, - это пустые белые ящики. Что я упустил?

ответ

41

UICollectionViewCell внутри StoryBoard не нужно регистрироватьClass, просто выберите reuseidentifier в StoryBoard. Удалить эту строку:

// [self.workoutView registerClass:[Cell class] forCellWithReuseIdentifier:@"Cell"]; 

И убедитесь, что вы подключаете правильный путь:

типа -Выберите классовую UICollectionViewCell в раскадровке с клеточным

UILabel в Drag-Cell и подключить до Cell.h

-Type идентификатор повторного

+5

Снятие строки регистра и использование идентификатора повторного использования из раскадровки зафиксировано. Благодаря! – brodney

+2

Это работает. Иногда в раскадровке слишком много магии. –

+0

Извините, что вы подразумеваете под -Type идентификатор повторного использования? Я удалил первую строку, но ничего не вижу (сделал другие шаги) – Signo

2
MainFeedCollectionView.registerClass(CollectionViewCell.self, forCellWithReuseIdentifier: "CollectionViewCell") 

я удалить d эта строка из моего кода теперь теперь работает нормально ...  

Смежные вопросы