Розетки скрываются при закрытии видового контроллера

В моем приложении у меня есть экран, похожий на форму отправки, которая содержит раскрывающийся список, текстовые поля и кнопки. Есть две кнопки, одна для выбора изображения из галереи и другая для выбора изображения с камеры. Моя проблема в том, что после заполнения всех текстовых полей я выбираю изображение из галереи и после увольнения из представленного экрана галереи. Все мои розетки не видны, значит, становятся прозрачными. Это происходит только в версии iOS 12, но в версии iOS 11 работает нормально. Пожалуйста помоги. Мой экран, как показано ниже.

Перед загрузкой изображения

перед загрузкой изображения

После загрузки изображения

После загрузки изображения это выглядит так, как показано ниже

Язык кодирования является объективным c.

Мои выходы, как показано ниже.

@property (strong, nonatomic) IBOutlet UITextField *txtSubmit;
@property (strong, nonatomic) IBOutlet UITextField *txtVisitDate;
@property (strong, nonatomic) IBOutlet UITextField *txtCalimType;
@property (strong, nonatomic) IBOutlet UITextField *txtInvoiceAmount;
@property (strong, nonatomic) IBOutlet UITextField *txtServiceProvoider;
@property (strong, nonatomic) IBOutlet UITextField *txtReceiptsNo;
@property (strong, nonatomic) IBOutlet UITextField *txtDescription;
@property (strong, nonatomic) IBOutlet UIView *btnSnapClick; //weak
@property (strong, nonatomic) IBOutlet UIButton *btnCameraclick; //weak
@property (nonatomic, retain) UIImagePickerController *mediaPicker;
@property (strong, nonatomic) IBOutlet UIButton *btnUpload;
@property (strong, nonatomic) IBOutlet NSLayoutConstraint *CollectionContanst; //weak
@property (strong, nonatomic) IBOutlet UIButton *btnSubmitWithRadious; //weak
@property (strong, nonatomic) IBOutlet UICollectionView *collectionView;
@property (strong, nonatomic) IBOutlet UIBarButtonItem *sidebarButton; //weak
@property (strong, nonatomic) UIWindow *window;

Мой код отклонения, как показано ниже.

[self dismissViewControllerAnimated:YES completion:NULL];

Я получил ошибку при попытке просмотра в отладчике View, как показано ниже.

Ошибка: невозможно записать иерархию представлений. Подробности: Заголовок журнала: Ошибка выполнения выражения источника данных. Детали журнала: (ноль)

Метод журнала: -[DBGDataSourceConnectionLibViewDebugger _executeLLDBExpression:forRequest:onPotentialThread:iteration:]_block_invoke_2 Метод: -[DBGViewDebugger updateDebugHierarchy]_block_invoke_2 Пожалуйста, отправьте сообщение об ошибке, содержащее любую информацию, в любом полезном информационном сообщении. 2018-11-16 15:12:32.872415+0530 NTUCAdeptCliniFlex[213:3848] Ошибка: DebugHierarchyRequest - Не удалось разархивировать данные запроса с ошибкой: Ошибка Домен =NSCocoaErrorDomain Code=3840 "Текст JSON не был запущен с массивом или объектом и параметром для разрешить фрагменты не установлены." UserInfo={NSDebugDescription= Текст JSON не начинался с массива или объекта и опции, позволяющей не устанавливать фрагменты.}

Несмотря на то, что экран пуст, когда я щелкаю где-то, он отображается как показано ниже

когда я щелкнул где-то на экране

когда я щелкнул где-то на экране

Xcode 9.2

- (void)zcImagePickerController:(ZCImagePickerController *)imagePickerController didFinishPickingMediaWithInfo:(NSArray *)info {

    BOOL isValidImage = YES;
    [self dismissPickerView];

    for (NSDictionary *imageDic in info) {
        UIImageView *imageView = [[UIImageView alloc] initWithImage:[imageDic objectForKey:UIImagePickerControllerOriginalImage]];
        imageView.contentMode = UIViewContentModeScaleAspectFit;
        NSData  *imageData = UIImageJPEGRepresentation(imageView.image, 0.4);
        double imgLength = (imageData.length);
        double imgLengthKb = imgLength/1024;
        if(imgLengthKb <= maxFileSize){
            dispatch_async(dispatch_get_main_queue(), ^{
                //update your UI stuff here.
                NSString *base64 = [imageData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
                int randomID = arc4random() % 900000 + 100000;
                NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
                [dateFormat setDateFormat:@"dd_MM_yyyy"];
                [dateFormat setLocale:[NSLocale localeWithLocaleIdentifier:@"en_US"]];
                NSDate *currentDate = [NSDate date];
                NSString *dateString = [dateFormat stringFromDate:currentDate];
                NSString *fileName = [NSString stringWithFormat:@"%@%@%@%d%@", @"ios_upload_",dateString,@"_",randomID,@".jpg"];
                NSDictionary *dictContact =[NSDictionary dictionaryWithObjectsAndKeys:base64,@"File64ByteStream",fileName,@"FileName", nil];
                [_imageViewArray addObject:dictContact];
                self.CollectionContanst.constant=128; //128
            });
        }else{
            isValidImage = NO;
        }
    }
    [_collectionView reloadData];
//    dispatch_async(dispatch_get_main_queue(), ^{
//        [_collectionView reloadData];
//    });
    if(isValidImage  == NO){
        [self showAlertonImage];
    }
}

- (void)dismissPickerView {
    [self dismissViewControllerAnimated:NO completion:nil];
}

Приведенный выше код используется для выбора изображения из галереи.

0 ответов

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