UIImagePickerController相机在被解雇后重新出现 - 记忆

时间:2013-07-25 14:49:05

标签: iphone cocoa-touch storyboard uiimagepickercontroller

设置UIImagePickerController摄像头后,我尝试使用以下代码将其关闭:

- (void)doneButtonClick: (id)sender {
[self dismissViewControllerAnimated : NO completion NO];
}

然而,视图只是重新加载并且将再次调用将出现的视图。我认为应用程序正在接收内存警告并拉下不可见的视图。

我想重新加载以前的视图作为解决方案。上一个视图是一个故事板,所以我尝试以下内容:

- (void)doneButtonClick:(id)sender {
//[self dismissViewControllerAnimated:NO completion:NO];
UIStoryboard * storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
BSPRoomDefaultViewController * myVC = (BSPRoomDefaultViewController *)[storyboard instantiateViewControllerWithIdentifier:@"default"];
[self presentViewController:myVC animated:YES completion:NO];

}

但是我收到的错误是“尝试在窗口层次结构中显示其视图!”

有人可以建议我如何重新加载上一个视图吗?

2 个答案:

答案 0 :(得分:1)

而不是使用[self dismissViewControllerAnimated:NO completion NO];使用方法:

[imagePicker dismissViewControllerAnimated:NO completion:nil];

imagePicker是你的UIImagePickercontroller实例。

答案 1 :(得分:0)

对于其他任何人来说,问题在于提供全屏摄像机视图几乎总会产生内存警告。这导致下面的观点被拉下来。因此,当前视图仅在被解雇时重新加载。解决方案是手动重新加载解除分配的视图。