我创建了选择器:
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];}
但是这会调用自己的viewDidLoad。这不正常吗?怎么了?
答案 0 :(得分:3)
您的应用可能收到内存警告,导致屏幕上未显示的所有视图控制器卸载其视图。当你在图像选择器中时这是很正常的,因为相机需要大量的内存。当您关闭图像选择器时,视图控制器会重新加载其视图。
由于这是完全正常的行为,您的应用必须正确处理这种情况。
答案 1 :(得分:0)
我有一个类似的问题,我在长按手势时显示弹出窗口。看起来似乎在选择图像后模态没有被解雇。但是,长按手势事件会被多次调用,因此每个事件都会显示一个新的弹出窗口。在我的手势处理程序中,我做了类似这样的修复:
if (![imagePickerPopoverController isPopoverVisible]){
//show pop-up etc
}
答案 2 :(得分:0)
我遇到了某种问题,我试图将演示文稿设置为“全屏幕”并且无需重新加载即可显示