2010-10-07 11 views
8

Ich muss Funktionalität geben, um Fotos vom Benutzer auszuwählen. Ich habe dies verwendet:UIimagepicker Controller Bild nur Auswahl

ipc.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 

Jetzt habe ich Benutzer beschränken nur Fotos auszuwählen, und ich möchte Videos auf der Liste nicht angezeigt werden. Oder irgendwie sollte Benutzer überhaupt kein Video auswählen. Wie erreiche ich das?

Antwort

18

im Grunde, was Sie versuchen, ist es, die "Medientypen" einzustellen. Und glücklicherweise hat imagePicker eine Eigenschaft, die nur "mediaTypes" genannt wird. :) die ein Array von Medientypen empfängt, die zur Auswahl angezeigt werden.

sogar glücklicherweise ist dies das Standardverhalten von ImagePicker, um nur Bildtypen anzuzeigen.

aber wenn Sie wirklich sicherstellen möchten, dass Sie dies tun können:

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

und vergessen Sie nicht, am Anfang der Datei hinzufügen ... :)

#import <MobileCoreServices/UTCoreTypes.h> 

aber wirklich, ich denke, wir können Apple vertrauen, wenn sie sagen, dass sie Standard Verhalten sind ... :)

+4

Sie müssen auch MobileCoreServices.framework verbinden> Ziele> Build-Phasen> Link binary mit Bibliotheken> +> MobileCoreServices.framework' –

17

Sie erhalten eine Compiler-Warnung über inkompatible Zeigertypen (mindestens in XCode 4) beim Hinzufügen von KUTTypeImage zu einem NSArray. KUTTypeImage ist jedoch ein CFStringRef, und ein CFStringRef ist gemäß der CFString-Dokumentation mit NSString * kompatibel. Daher ist der Compiler glücklich zu machen, werfen kUTTypeImage zu einem NSString *:

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

Vielen Dank, Bohren, dass Zeug dauert einige Zeit ... –

1

UIImagePickerController standardmäßig nur Bild. Vermeiden Sie einfach die Angabe von Medientypen, da nur ausgewählte Bilder angezeigt werden.

Verwandte Themen