我已经使用AVCaptureSession
在iPhone应用程序中捕获照片。我也想从 PhotosLibrary 中获取图像。
我已经实现了 UIImagePickerController
控件及其所有方法。
我可以打开图库,但无法获取我选择的照片。以及不调用 PickerView 的方法。这些方法没有响应。
是否有任何不同的方法可以通过 AVCaptureSession
对照片库实现 UIImagePickerController
控件?
请告诉我解决方案。
或者建议我使用替代解决方案而不是Overlay
,因为我想要这两种功能都具有动态控件。
提前致谢。
最佳答案
要打开照片库,请使用以下命令:
-(IBAction)pickphoto:(id)sender
{
[self startMediaBrowserFromViewController: self usingDelegate: self];
}
- (BOOL) startMediaBrowserFromViewController: (UIViewController*) controller
usingDelegate: (id <UIImagePickerControllerDelegate,
UINavigationControllerDelegate>) delegate{
if (([UIImagePickerController isSourceTypeAvailable:
UIImagePickerControllerSourceTypeSavedPhotosAlbum] == NO)
|| (delegate == nil)
|| (controller == nil))
return NO;
UIImagePickerController *mediaUI = [[UIImagePickerController alloc] init];
mediaUI.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
mediaUI.mediaTypes = [[NSArray alloc] initWithObjects: (NSString *) kUTTypeMovie,kUTTypeImage, nil];
mediaUI.allowsEditing = YES;
mediaUI.delegate = delegate;
[controller presentModalViewController: mediaUI animated: YES];
return YES;
}
- (void) imagePickerController: (UIImagePickerController *) picker
didFinishPickingMediaWithInfo: (NSDictionary *) info
{
NSString *mediaType = [info objectForKey: UIImagePickerControllerMediaType];
thumbnail = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
[self dismissModalViewControllerAnimated:YES];
}
要捕获图像,请使用以下命令:
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
imagePicker.delegate = self;
[self presentViewController:imagePicker animated:YES completion:nil];
关于iphone - 在iPhone中不使用AVCaptureSession调用UIImagePickerControl的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13834610/