UIImagePicker и оверлеи - PullRequest
       25

UIImagePicker и оверлеи

1 голос
/ 28 мая 2011

В моем приложении после выбора изображения с помощью uiimagepicker оно обрабатывается через веб-сервис. Веб-обработка занимает секунду, поэтому я хотел бы создать серое наложение с представлением индикатора активности.

Моя проблема в том, что представление UIImagePickerView, похоже, остается поверх всего, пока обработка не будет завершена.

Я пытался использовать [myPicker dismissModalViewControllerAnimated:YES]; до загрузки наложения или даже начала обработки, но вид все еще на экране. После этого мой оверлей загружается следующим образом

ovController = [[OverlayViewController alloc] initWithNibName:@"OverlayViewController" bundle:[NSBundle mainBundle]];

CGFloat yaxis = self.navigationController.navigationBar.frame.size.height;
CGFloat width = self.view.frame.size.width;
CGFloat height = self.view.frame.size.height;

CGRect frame = CGRectMake(0, yaxis, width, height);
ovController.view.frame = frame;
ovController.view.backgroundColor = [UIColor grayColor];
ovController.view.alpha = 0.7;

[self.view insertSubview:ovController.view aboveSubview:self.view];

Я также пытался использовать [[myPicker cameraOverlayView] insertSubview:ovController.view]; перед тем, как закрыть MyPicker, но безрезультатно.

Чтобы было ясно, я пытаюсь наложить на экран "загрузочный" оверлей после того, как UIImagePicker исчезнет, ​​но до того, как начнется веб-обработка.

Любой вклад будет оценен. Спасибо

1 Ответ

1 голос
/ 29 мая 2011

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

...