Как проверить, что UICollectionView имеет изображение

У меня есть 4 UICollectionViewCell, в которых я хочу сделать первые 2 ячейки обязательными для изображения. Пример кода приведен ниже. Ниже приведен вариант использования:

Есть 4 UICollectionViewCell, если я нажму на каждую ячейку, откроется камера, и мы сможем либо сделать снимок, либо выбрать изображение из галереи изображений. Как узнать, что первые 2 ячейки должны иметь изображение. Ищем условие для проверки этой логики.

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

    Image *image = (Image *)self.defect.imageSet[indexPath.item];
    ADRPhotoCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([ADRPhotoCollectionViewCell class]) forIndexPath:indexPath];
    cell.image = image.thumbnailImage ? image.thumbnailImage : nil;
    cell.photoType = [self.defect defectPhotoTypeForIndex:indexPath];
    return cell;
}

#pragma mark - UICollectionViewDelegate

- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {

   Image *image = self.defect.imageSet[indexPath.item];

    if (self.selectedImage != image) {

       [self updateAnnotatedImage];
        self.selectedImage = image;
       [self.jotController clearAll];
       [self updateUserInterface];

    if (image.thumbnailImage) {
        [self transitionImage:YES];
    } else {
        self.imageView.image = nil;
        [self showCameraPicker];
    }

} else if (!image.thumbnailImage) {
      //clicked the + to add a new image
      [self showCameraPicker];
  }
}

Можете ли вы объяснить «Как узнать, что первые 2 ячейки должны иметь изображение»? Вы имеете в виду, что хотите проверить, есть ли у первых 2 ячеек изображение или нет?

Teja Nandamuri 10.03.2019 06:04

Да, я хочу проверить, что у cellForItemAtIndexPath 0 и 1 есть изображение.

Nagarjun 10.03.2019 06:09
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
61
1

Ответы 1

Вы можете проверить, есть ли изображение в UIImageView или нет таким образом:

-(BOOL) checkImages {
    for (int i=0, i<2 , i++) {
        NSIndexPath *indexPath = [NSIndexPath indexPathForItem:i inSection:0];
        ADRPhotoCollectionViewCell *cell = [collectionView cellForItemAtIndexPath:indexPath];
        if (cell.imageView.image == nil || CGSizeEqualToSize(cell.imageView.image.size, CGSizeZero)) {
            //there isn't any image or the image is empty
            return NO;
        }
    }
    return YES;
}

Все еще нет. Я хочу проверить, что у cellForItemAtIndexPath 0 и 1 есть изображение.

Nagarjun 10.03.2019 07:14

Это не будет иметь объект collectionView вне метода делегата

Nagarjun 10.03.2019 07:23

вы можете установить выход для своего collectionView и получить к нему доступ в любом месте вашего класса

Arash Etemad 10.03.2019 07:24

Теперь он всегда возвращает 1.

Nagarjun 10.03.2019 09:42

даже если у imageView есть изображение?

Arash Etemad 10.03.2019 09:48

Да в обоих случаях.

Nagarjun 10.03.2019 09:49

Давайте продолжить обсуждение в чате.

Nagarjun 10.03.2019 09:49

Другие вопросы по теме