2016-12-27 9 views
1

私は一度に複数の画像を選択するのにQBImagePickerControllerを使用しています。ライブラリのPHAsから画像を取得できます

ので、ここでは、この方法はについて

func qb_imagePickerController(imagePickerController: QBImagePickerController!, didFinishPickingAssets assets: [AnyObject]!) { 
     for asset in assets { 
      print(asset.fileName) 
     } 
     self.dismissViewControllerAnimated(true, completion: nil) 
    } 

と呼ばれ、私は

let imagePickerController = QBImagePickerController() 
imagePickerController.delegate = self 
imagePickerController.allowsMultipleSelection = true 
imagePickerController.mediaType = .Image 
self.presentViewController(imagePickerController, animated: 
true, completion: nil) 

ので、私は複数の画像を選択し、[完了]をクリックしたときに、このコードでimagepickerControllerを提示しています

私の全体のコードですたとえば、1つのイメージを選択してこのように印刷します。

<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 

これでイメージを取得してcollectionviewに設定する方法はありますか?

私はfileNameを取得しますが、そのイメージから画像を設定するのは妥当ではありません。

私はfilePathURL、fileURL、absoluteURLを使用しますが、何も、それはそれは
はあなたに

+0

可能な重複[UIImage負け透明性にPHAssetの変換中](http://stackoverflow.com/questions/38283416/while-converting-phasset-to-uiimage-losing - 透明度) –

+0

@Jecky checkout私の回答 –

答えて

4

ありがとうあなたが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) 
} 
+0

私はimagepickerから複数の画像を選択し、私のcollectionviewに表示されます。そのコレクションビューで私は1つの削除ボタンがあるので、私はこの画像を削除する方法imagepickercontrollerに選択を削除するにはどうすればいいですか? –

+0

この方法で削除することができます imagePickerController.selectedAssets.removeObject(資産として!PHAsset) –

+0

だから、私はそれを選択から削除します –

関連する問題