如何直接进入“所有照片”专辑?

时间:2015-02-02 02:09:57

标签: ios objective-c uiimagepickercontroller photo

我的代码是这样的:

oldPicker = [[UIImagePickerController alloc] init];
if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary])
{
   oldPicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
   oldPicker.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:oldPicker.sourceType];
}
oldPicker.delegate = self;
oldPicker.allowsEditing = NO;
[self presentViewController:oldPicker animated:YES completion:nil];

效果是当我点击按钮时,它会显示选择视图的相册,但我只想跳过相册选择视图并直接显示“所有照片”相册。

我尝试将sourceType设置为UIImagePickerControllerSourceTypeSavedPhotosAlbum,但它会向我显示“Moments”专辑但不会显示“All Photos”专辑

1 个答案:

答案 0 :(得分:3)

使用UIImagePickerController无法做到这一点。

UIImagePickerControllerSourceType只有3个值。

enum
{
  UIImagePickerControllerSourceTypePhotoLibrary,
  UIImagePickerControllerSourceTypeCamera,
  UIImagePickerControllerSourceTypeSavedPhotosAlbum
};
typedef NSUInteger UIImagePickerControllerSourceType;
     

<强>常量

UIImagePickerControllerSourceTypePhotoLibrary
     

指定设备的照片库作为图像选择器控制器的源。

UIImagePickerControllerSourceTypeCamera
     

指定设备的内置摄像头作为图像选择器控制器的源。指出您想要的特定相机(正面或   通过使用cameraDevice属性,后面,可用)。

UIImagePickerControllerSourceTypeSavedPhotosAlbum
     

指定设备的相机胶卷相册作为图像选择器控制器的来源。如果设备没有摄像头,   指定已保存的照片相册作为来源。

因此,为了实现您提到的场景,您需要编写自己的图像选择器。有可用的自定义控件,您也可以检查CTAssetsPickerController