Розетки скрываются при закрытии видового контроллера - PullRequest
0 голосов
/ 16 ноября 2018

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

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

before uploading image

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

After uploading image it looks as below.

Язык кодирования является объективным 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];

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

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

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

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

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

when i clicked somewhere on the screen

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

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

Даже я использовал отладчик иерархии представления, он выглядит пустым.Пожалуйста, проверьте вложение ниже Это изображение из иерархии представления

...