【发布时间】:2013-10-15 19:38:48
【问题描述】:
关闭相机后。它给了我这个警告:尝试在演示过程中进行演示!
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
[self dismissViewControllerAnimated:YES completion:nil];
}
我不知道这是不是一个大问题。
更多代码:
- (void) viewWillAppear:(BOOL)animated
{
[self takePicture];
}
- (void) takePicture
{
UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
[imagePickerController setSourceType:UIImagePickerControllerSourceTypeCamera];
} else
[imagePickerController setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
imagePickerController.delegate = self;
[self presentViewController:imagePickerController animated:YES completion:nil];
}
- (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
[self dismissViewControllerAnimated:NO completion:nil];
}
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
[self dismissViewControllerAnimated:NO completion:nil];
}
顺便说一句,“dismissModalViewController”已被弃用。
修复: 一旦有新视图,就会调用 ViewWillAppear。这就是问题
【问题讨论】:
-
请在您的问题中提供更多详细信息。
-
文档告诉你使用
dismissModalViewControllerAnimated:,你是alt+click接近答案。阅读文档。 -
@A-Live
dismissModalViewControllerAnimated:已弃用,取而代之的是dismissViewControllerAnimated:completion:。他使用的是正确的。 -
@Kevin 该方法已被弃用,但文档清楚地告诉使用它。实际差异将是一个很好的问题。
-
@A-Live 你在看什么文档? UIViewController docs 明确声明“在 iOS 6.0 中已弃用。请使用 dismissViewControllerAnimated:completion: 代替。”
标签: ios uiimagepickercontroller