Как добавить пользовательский объект с IBOutlet UIImageView в UICollectionViewCell?

В основном я хочу добавить пользовательский объект (GameBubble) с IBOutlet UIImageView (GameBubbleImageView) в свои пользовательские ячейки представления коллекции (GameBubbleCell), однако я не могу связать IBOutlet imageView с контроллером.

GameBubble:
IBOutlet UIImageView *GameBubbleImageView;

GameBubbleCell:
GameBubble *bubble;

В раскадровке я могу найти только свой GameBubbleCell, поэтому я не могу связать свой GameImageView с контроллером.

Мой альтернативный способ - установить:

GameBubble:
UIImage *GameBubbleImage;

GameBubbleCell:
IBOutlet UIImageView *GameBubbleImageView;
GameBubble *bubble;

но это не хороший шаблон MVC. Есть ли способ добиться моего предыдущего дизайна?


person tning    schedule 05.02.2014    source источник
comment
Добавьте полный код в соответствии с файлами .h и .m. Код недостаточно ясен для ответа.   -  person bhavya kothari    schedule 05.02.2014
comment
Без кода трудно получить то, что вы именно пытаетесь сделать. Если я правильно понимаю, вы пытаетесь добавить собственный класс в свой контроллер представления. Это будет работать только в том случае, если ваш пользовательский класс наследуется от объекта, который можно поместить в контроллер представления (например, UIView, UIImageView, UITableViewCell и т. д.).   -  person crizztus    schedule 05.02.2014


Ответы (2)


В раскадровке перетащите представление изображения в ячейку представления коллекции в контроллере представления коллекции. Укажите целочисленное значение в поле тега представления изображения в инспекторе атрибутов. Следующий код может помочь вам:

-(UICollectionViewCell *) collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *identifier = @"Cell";
    UICollectionViewCell *collectionViewCell = [collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath];
    UIImageView *recipeImageView = (UIImageView *) [collectionViewCell viewWithTag:100];
    recipeImageView.image = [UIImage imageNamed:[recipePhotos objectAtIndex:indexPath.row]];
    //collectionViewCell.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"photo-frame.png"]];
    return collectionViewCell;
}
person Community    schedule 05.02.2014

Использовать как это

GameBubble:
UIImageView *GameBubbleImageView;

GameBubbleCell:
IBOutlet GameBubble *bubble;
person Vikash Rajput    schedule 10.06.2015