मैं एक समय में एकाधिक छवियों का चयन करने के लिए QBImagePickerController का उपयोग कर रहा हूं।
तो, यहाँ मेरा पूरा कोड है
मैं इस कोड के साथ imagepickerController
प्रस्तुत कर रहा हूं
let imagePickerController = QBImagePickerController()
imagePickerController.delegate = self
imagePickerController.allowsMultipleSelection = true
imagePickerController.mediaType = .Image
self.presentViewController(imagePickerController, animated:
true, completion: nil)
इसलिए जब मैं कई छवियों को चुनता हूं और किया हुआ क्लिक करता हूं, तो इस विधि को कहा जाता है
func qb_imagePickerController(imagePickerController: QBImagePickerController!, didFinishPickingAssets assets: [AnyObject]!) {
for asset in assets {
print(asset.fileName)
}
self.dismissViewControllerAnimated(true, completion: nil)
}
उदाहरण के लिए, मैं एक छवि का चयन करता हूं, फिर वह इस तरह प्रिंट करता है
<PHAsset: 0x7fc55d954500> 6006CE57-81FE-4DC0-8C52-5DB43CE7638D/L0/001 mediaType=1/0, sourceType=1, (1920x1080), creationDate=2016-05-26 09:15:34 +0000, location=0, hidden=0, favorite=0
इससे मैं छवि कैसे प्राप्त कर सकता हूं और इसे संग्रहदृश्य में कैसे सेट कर सकता हूं?
मुझे इससे फ़ाइल नाम मिलता है लेकिन यह इससे छवि सेट करने के योग्य नहीं है।
मैं filePathURL, fileURL, absulurl का उपयोग करता हूं लेकिन कुछ भी नहीं हुआ यह दुर्घटनाग्रस्त हो गया
तो कृपया इसमें मेरी मदद करें
धन्यवाद
2 जवाब
UIImage
प्राप्त करने के लिए आपको requestImageForAsset
का उपयोग करना होगा। आप इस तरह की छवि प्राप्त कर सकते हैं
func qb_imagePickerController(imagePickerController: QBImagePickerController!, didFinishPickingAssets assets: [AnyObject]!) {
let requestOptions = PHImageRequestOptions()
requestOptions.resizeMode = PHImageRequestOptionsResizeMode.Exact
requestOptions.deliveryMode = PHImageRequestOptionsDeliveryMode.HighQualityFormat
// this one is key
requestOptions.synchronous = true
for asset in assets
{
if (asset.mediaType == PHAssetMediaType.Image)
{
PHImageManager.defaultManager().requestImageForAsset(asset as! PHAsset, targetSize: PHImageManagerMaximumSize, contentMode: PHImageContentMode.Default, options: requestOptions, resultHandler: { (pickedImage, info) in
self.yourImageview.image = pickedImage // you can get image like this way
})
}
}
imagePickerController.dismissViewControllerAnimated(true, completion: nil)
}
QBImagePickerController में didFinishPickingAssets से स्विफ्ट 4.2 में PHAsset से वीडियो URL प्राप्त करें
let imagePicker = QBImagePickerController()
imagePicker.delegate = self
imagePicker.numberOfColumnsInPortrait = 2
imagePicker.maximumNumberOfSelection = 2
imagePicker.allowsMultipleSelection = true
imagePicker.mediaType = .video
self.present(imagePicker, animated: true, completion: nil)
func qb_imagePickerController(_ imagePickerController: QBImagePickerController!, didFinishPickingAssets assets: [Any]!) {
for asset in assets
{
PHCachingImageManager().requestAVAsset(forVideo: asset as! PHAsset, options: nil, resultHandler: {(asset, audioMix, info) -> Void in
if asset != nil {
let avasset = asset as! AVURLAsset
let urlVideo = avasset.url
yourarray.add(urlVideo as URL)
}
})
}
imagePickerController.dismiss(animated: true) {
//You can access video urls here
print("Total Videos:\(yourarray.count)")
}
}
संबंधित सवाल
जुड़े हुए प्रश्न
नए सवाल
ios
iOS, Apple iPhone, iPod टच और iPad पर चलने वाला मोबाइल ऑपरेटिंग सिस्टम है। IOS प्लेटफॉर्म पर प्रोग्रामिंग से संबंधित प्रश्नों के लिए इस टैग [ios] का उपयोग करें। उन प्रोग्रामिंग भाषाओं के लिए विशिष्ट मुद्दों के लिए संबंधित टैग [उद्देश्य-सी] और [स्विफ्ट] का उपयोग करें।