UIImagePicker和叠加层

时间:2011-05-28 16:45:17

标签: iphone ios overlay uiimagepickercontroller subview

在我的应用程序中,使用uiimagepicker选择图像后,将通过Web服务处理该图像。网页处理需要一秒钟,所以我想创建一个带有活动指示器视图的灰色覆盖。

我的问题是,在处理完成之前,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之前,我也曾尝试使用[[myPicker cameraOverlayView] insertSubview:ovController.view];,但无济于事。

要明确的是,我正在尝试在UIImagePicker消失后,在网页处理开始之前,在屏幕上显示“加载”叠加层。

任何输入将不胜感激。感谢

1 个答案:

答案 0 :(得分:1)

听起来你正在主线程上进行上传,锁定视图不被更新。您可以尝试在sperate线程上进行上传,以便主线程可以关闭图像选择器并显示叠加层。