2010-10-07 36 views
8

我必须提供功能来选择用户的照片。我已经使用这个:UIimagepicker控制器图像只选择

ipc.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 

现在我要限制用户只选择那些照片,我想影片的名单上没有显示。或者不知何故,用户不应该选择视频。如何实现这一目标?

回答

18

基本上你要做的是设置“媒体类型”。幸运的是,imagePicker只有一个名为“mediaTypes”的属性。 :)它接收一组媒体类型以显示选择。

即使幸运-er这是ImagePicker的默认行为是仅显示图像类型。

,但如果你真的想确保你可以这样做:

[imagePicker setMediaTypes: [NSArray arrayWithObject:kUTTypeImage]]; 

,不要忘了在文件的顶部添加... :)

#import <MobileCoreServices/UTCoreTypes.h> 

但真的,我认为当他们说它是默认行为时,我们可以信任苹果...... :)

+4

您还需要链接MobileCoreServices.framework'targets>构建阶段>链接二进制文件与库> +> MobileCoreServices.framework' – 2012-07-15 03:54:23

17

将kUTTypeImage添加到NSArray时,您将得到关于不兼容指针类型(至少在XCode 4中)的编译器警告。但是,kUTTypeImage是CFStringRef,根据CFString文档,CFStringRef与NSString *兼容。因此,为了使编译器开心,将kUTTypeImage转换为NSString *:

picker.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeImage]; 
+0

非常感谢,深入研究这些东西需要一些时间...... – 2012-01-10 02:47:25

1

UIImagePickerController默认为只有图像。只要避免指定媒体类型,它将只显示要选择的图像。

相关问题