Я следую этому руководству с некоторыми изменениями для своего проекта: http://www.appcoda.com/ios-programming-uicollectionview-tutorial/
Я пытаюсь получить экземпляр UIImageView, который создает для меня IB.
Вот скриншот моего ИБ:
У меня есть собственный класс FeedViewCell, который должен содержать UIImageView. Вот код cellForItemAtIndexPath:
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
static NSString *identifier = @"Cell";
UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath];
UIImageView *imageView = (UIImageView *)[cell viewWithTag:100];
imageView.image = [UIImage imageNamed:[postPhotos objectAtIndex:indexPath.row]];
return cell;
}
Проблема в том, что UIImageView *imageView = (UIImageView *)[cell viewWithTag:100]; возвращается как ноль. Использование метода viewWIthTag в любом случае кажется мне странным, но в отладчике я не вижу признаков того, что imageView является подпредставлением UICollectionViewCell. Если вы посмотрите на этот экран отладки, вы увидите, что в ячейке нет подвидов UIImageView:
Однако я вижу 2 UIImageViews как подвиды CollectionView.
Так что похоже, что я что-то не так делаю в IB. Это неудивительно, поскольку я всегда борюсь с IB (по крайней мере, глядя на код, я вижу, что происходит).
Спасибо за любые предложения!
обновление: я отказался от использования IB для подключения к ImageView и попытался создать его в коде, как показано ниже: http://cl.ly/QFxs
Изображения отображаются неправильно. Однако, если вы посмотрите на скриншот (отладчик), вы увидите, что изображения и изображения являются допустимыми объектами.