【问题标题】:UIImagePickerController got white screen after returning from a UIViewControllerUIImagePickerController 从 UIViewController 返回后出现白屏
【发布时间】:2011-07-14 04:02:19
【问题描述】:

情况如下:

拍照后从

[UIImagePickerController takePicture];

以下委托函数:

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info

将被调用。

里面的代码是

NSLog(@"Photo taken");
UIImage *newImage = [self resizeImage:[info objectForKey:UIImagePickerControllerOriginalImage]];
NSLog(@"Width: %d, Height: %d ",(int)newImage.size.width, (int)newImage.size.height);
//[imagePickerController dismissModalViewControllerAnimated:YES];
ProcessCompleteView *pcv = [[ProcessCompleteView alloc] initWithNibName:@"ProcessCompleteView" bundle:nil];
[imagePickerController presentModalViewController:pcv animated:YES];
[pcv release];

我调用了另一个视图来显示某事,当我使用 dismissModalViewController 从 pcv 返回时,应该显示相机实时捕获的区域变成白色。但是,当我关闭 UIImagePickerController 并再次呈现它时,相机工作正常!

谁能帮我解决这个奇怪的问题??

谢谢。

【问题讨论】:

    标签: iphone uiimagepickercontroller


    【解决方案1】:

    显示视图的顺序不正确。

    正确的顺序是: 父控制器的视图展示 -> UIImagePickerController 的视图展示 -> UIImagePickerController 的视图隐藏 -> ProcessCompleteView 展示

    所以,请删除

    ProcessCompleteView *pcv = [[ProcessCompleteView alloc] initWithNibName:@"ProcessCompleteView" bundle:nil];
    [imagePickerController presentModalViewController:pcv animated:YES];
    [pcv release];
    

    进入父控制器的 viewWillAppear 方法,并调用

    ProcessCompleteView *pcv = [[ProcessCompleteView alloc] initWithNibName:@"ProcessCompleteView" bundle:nil];
    [parentController presentModalViewController:pcv animated:YES];
    [pcv release];
    

    【讨论】:

      猜你喜欢
      • 2017-06-15
      • 1970-01-01
      • 2016-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-18
      • 1970-01-01
      相关资源
      最近更新 更多