【问题标题】:UIImagePickerController reloads view after its dismissed?UIImagePickerController 在关闭后重新加载视图?
【发布时间】:2018-04-12 17:43:49
【问题描述】:

我创建了选择器:

UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.sourceType =  UIImagePickerControllerSourceTypeCamera;
imagePicker.delegate = self;
imagePicker.allowsEditing = NO;
[self presentModalViewController:imagePicker animated:YES];

我处理 didFinishPickingMediaWithInfo:

- (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
[picker dismissModalViewControllerAnimated:YES];
[picker release];}

但这会调用 self 的 viewDidLoad。这不正常是吗?怎么了?

【问题讨论】:

    标签: iphone objective-c uiimagepickercontroller


    【解决方案1】:

    您的应用可能收到了内存警告,这导致所有未显示在屏幕上的视图控制器卸载其视图。当您在图像选择器中时,这很正常,因为相机需要大量内存。在您关闭图像选择器的那一刻,您的视图控制器会重新加载其视图。

    由于这是完全正常的行为,您的应用必须正确处理这种情况。

    【讨论】:

      【解决方案2】:

      我遇到了类似的问题,我在长按手势时显示了一个弹出窗口。看起来好像在选择图像后模态没有被关闭。但是,长按手势事件会被多次调用,因此每个事件都会显示一个新的弹出窗口。在我的手势处理程序中,我做了这样的事情来修复:

      if (![imagePickerPopoverController isPopoverVisible]){
         //show pop-up etc
      }
      

      【讨论】:

        【解决方案3】:

        我遇到了某种问题,我尝试将演示文稿设置为“全屏显示”,并且无需重新加载即可工作

        【讨论】:

          猜你喜欢
          • 2021-10-23
          • 1970-01-01
          • 2020-09-28
          • 2020-05-23
          • 1970-01-01
          • 2013-10-04
          • 2020-11-22
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多