2010-10-07 6 views
8

मुझे उपयोगकर्ता द्वारा फोटो चुनने के लिए कार्यक्षमता देना है। मैंने इसका उपयोग किया है:UIimagepicker नियंत्रक छवि केवल चयन

ipc.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 

अब मुझे केवल फ़ोटो चुनने के लिए उपयोगकर्ता को प्रतिबंधित करना है और मैं सूची में वीडियो प्रदर्शित नहीं करना चाहता हूं। या किसी भी तरह उपयोगकर्ता को वीडियो का चयन नहीं करना चाहिए। इसे कैसे प्राप्त करें?

उत्तर

18

मूल रूप से आप जो करना चाहते हैं वह है "मीडिया प्रकार" सेट करना। और सौभाग्य से आपके लिए छवि पिकर की संपत्ति केवल "मीडिया टाइप" कहलाती है। :) जो चयन के लिए दिखाने के लिए मीडिया प्रकारों की एक सरणी प्राप्त करता है।

यहां तक ​​कि सौभाग्य से यह ImagePicker का डिफ़ॉल्ट व्यवहार केवल छवि प्रकार दिखाना है।

लेकिन तुम सच में आप यह कर सकते हैं यह सुनिश्चित करना चाहते हैं:

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

और भूल जाओ फ़ाइल के शीर्ष पर जोड़ने के लिए नहीं है ... :)

#import <MobileCoreServices/UTCoreTypes.h> 

लेकिन वास्तव में, मुझे लगता है कि जब हम कहते हैं कि वे डिफ़ॉल्ट व्यवहार कर रहे हैं तो हम एप्पल पर भरोसा कर सकते हैं ... :)

+4

आपको मोबाइलकोर सर्विसेज.फ्रेमवर्क 'लक्ष्य> चरणों का निर्माण> पुस्तकालयों के साथ लिंक बाइनरी> +> मोबाइलकोर सर्विसेज.फ्रेमवर्क' –

17

आपको एनएसएआरएआरई में kUTTypeImage जोड़ने के दौरान असंगत सूचक प्रकार (कम से कम XCode 4) के बारे में एक कंपाइलर चेतावनी मिलेगी। हालांकि, kUTTypeImage एक CFStringRef है, और CFString दस्तावेज़ के अनुसार, एक CFStringRef NSString * के साथ संगत है। इसलिए, संकलक, खुश एक NSString * करने के लिए kUTTypeImage डाली बनाने के लिए: केवल छवि के लिए

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

बहुत कुछ धन्यवाद, उस सामान को ड्रिलिंग करने में कुछ समय लगता है ... –

1

UIImagePickerController चूक। मीडिया प्रकारों को निर्दिष्ट करने से बचें, यह केवल छवियों को चुनने के लिए प्रदर्शित करेगा।

संबंधित मुद्दे