为啥 UIImagePickerControllerSourceTypePhotoLibrary 不让用户选择相册?
Posted
技术标签:
【中文标题】为啥 UIImagePickerControllerSourceTypePhotoLibrary 不让用户选择相册?【英文标题】:Why does UIImagePickerControllerSourceTypePhotoLibrary not let the user pick an album?为什么 UIImagePickerControllerSourceTypePhotoLibrary 不让用户选择相册? 【发布时间】:2012-10-24 11:54:06 【问题描述】:我目前正在为 iPad 开发一个 iPad 应用程序,我将 UIPopOverController 与 UIImagePickerController 结合使用,让用户从他们的 iPad 中选择图像(使用 sourceType UIImagePickerControllerSourceTypeSavedPhotosAlbum)。这很好用,正如预期的那样,但它只允许客户端显然浏览 SavedPhotos 相册。如果我将选择器更改为使用 UIImagePickerControllerSourceTypePhotoLibrary,窗口仍将显示其相册,但它将是静态的(意味着我可以滚动,但我无法选择相册,并且当我向下或向上滚动时,视图只会弹出如果我再次点击屏幕则返回)。
PhotoLibrary 是否需要额外设置才能正常工作?我尝试了很多方法,但我在这里都不走运。
设置是一个 OpenGL 视图,我在其上使用 UIImagePicker 生成 UIPopOverController。为了清楚起见,下面是代码:
-(void)showPicker
if(![pController isPopoverVisible])
[pController presentPopoverFromRect:CGRectMake(50,100,200,300) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionLeft animated:YES];
else
pController dismissPopoverAnimated:YES];
-(void)awakeFromNib
picker = [[UIImagePickerController alloc] init];
pController = [[UIPopoverController alloc] initWithContentViewController:picker];
// Code works properly if I only set it to UIImagePickerControllerSourceTypeSavedPhotosAlbum
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
else if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeSavedPhotosAlbum]) picker.sourceType =UIImagePickerControllerSourceTypeSavedPhotosAlbum;
else NSLog(@"Error: Could not pick appropriate sourceType");
picker.mediaTypes = [NSArray arrayWithObjects:(NSString*)kUTTypeImage, nil];
picker.delegate = self;
pController.delegate = self;
picker.allowsEditing=NO;
【问题讨论】:
您确定照片库中有图片吗?来自文档... For example, if you attempt to pick an image from the user’s library and the library is empty, this method returns NO. Similarly, if the camera is already in use, this method returns NO.
是的,有很多.. 专辑显示正常(显示其中有图片),但我无法选择任何专辑,因为它不会让我有一些原因..
【参考方案1】:
您正在使用 ios6 吗? 我知道在设置/隐私中,您必须允许您的应用在相册中查看。
【讨论】:
以上是关于为啥 UIImagePickerControllerSourceTypePhotoLibrary 不让用户选择相册?的主要内容,如果未能解决你的问题,请参考以下文章
ViewController 生命周期 UINavigationController
如何从 webview 使用 UIImagePickerController
iPhone OS 3.0 中的 UIImagePickerController