Розетки скрываются при закрытии видового контроллера
В моем приложении у меня есть экран, похожий на форму отправки, которая содержит раскрывающийся список, текстовые поля и кнопки. Есть две кнопки, одна для выбора изображения из галереи и другая для выбора изображения с камеры. Моя проблема в том, что после заполнения всех текстовых полей я выбираю изображение из галереи и после увольнения из представленного экрана галереи. Все мои розетки не видны, значит, становятся прозрачными. Это происходит только в версии 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];
}
Приведенный выше код используется для выбора изображения из галереи.