我收到此错误:
[CameraViewController presentViewController:animated:completion:]:无法识别的选择器发送到实例0x8e07d0
代码是:
self.view.alpha = 0.5f;
[self.navigationController setNavigationBarHidden:YES];
UIImagePickerController *imagepicker=[[UIImagePickerController alloc]init];
[imagepicker.view setBackgroundColor:[UIColor blackColor]];
imagepicker.delegate=self;
imagepicker.sourceType=UIImagePickerControllerSourceTypeCamera;
[self presentViewController:imagepicker animated:YES completion:nil];
如果设备中有可用的摄像头,我已经检查过以前的控制器。当我在带有相机的设备上检查它时,就会出现这种情况。
我是否应该在其他地方找到其他的东西' nil'在最后一行?
答案 0 :(得分:3)
iOS 5.0中添加了UIViewController presentViewController:animated:completion:
方法。该错误表示您使用的是早期版本的iOS。在这种情况下,请改用presentModalViewController:animated:
。您可以根据需要在运行时使用正确的:
if ([self respondsToSelector:@selector(presentViewController:animated:completion:)]) {
[self presentViewController:imagepicker animated:YES completion:nil];
} else {
[self presentModalViewController:imagepicker animated:YES];
}
解除视图控制器的方法也有类似的情况。