我必须提供用户选择照片的功能。我用过这个:
ipc.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
现在我必须限制用户只选择照片,我希望视频不会显示在列表中。或者某种程度上用户不应该选择视频。如何实现?
答案 0 :(得分:18)
基本上你要做的就是设置“媒体类型”。幸运的是,imagePicker只有一个名为“mediaTypes”的属性。 :)接收一系列媒体类型以供选择。
幸运的是,这是ImagePicker的默认行为,只显示图像类型。
但是如果你真的想确保你能做到这一点:
[imagePicker setMediaTypes: [NSArray arrayWithObject:kUTTypeImage]];
并且不要忘记在文件的顶部添加...:)
#import <MobileCoreServices/UTCoreTypes.h>
但实际上,我认为当他们说苹果是默认行为时我们可以信任苹果......:)
答案 1 :(得分:17)
在向NSArray添加kUTTypeImage时,您将收到有关不兼容指针类型(至少在XCode 4中)的编译器警告。但是,kUTTypeImage是CFStringRef,根据CFString文档,CFStringRef与NSString *兼容。因此,为了使编译器满意,将kUTTypeImage强制转换为NSString *:
picker.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeImage];
答案 2 :(得分:2)
UIImagePickerController默认只为image。只需避免指定媒体类型,它将仅显示要选择的图像。