2016-02-18 16 views
0

有沒有辦法將多個選定的圖像(與BSimagePicker)添加到Imageview?BSimagepicker into imageview

BSimagePIckerCode

@IBAction func showImagePicker(sender: UIButton) { 
    let vc = BSImagePickerViewController() 
    vc.maxNumberOfSelections = 10 

    bs_presentImagePickerController(vc, animated: true, 
     select: { (asset: PHAsset) -> Void in 
      print("Selected: \(asset)") 
     }, deselect: { (asset: PHAsset) -> Void in 
      print("Deselected: \(asset)") 
     }, cancel: { (assets: [PHAsset]) -> Void in 
      print("Cancel: \(assets)") 
     }, finish: { (assets: [PHAsset]) -> Void in 
      print("Finish: \(assets)") 
     }, completion: nil) 
} 

ImageView的代碼

func imagePickerController(picker: BSImagePickerViewController, didFinishPickingImage image: UIImage!, editingInfo: [NSObject : AnyObject]!) { 
    imageView.image = image 
    self.dismissViewControllerAnimated(true, completion: nil) 
+0

嗨你張貼的東西嗎?因爲我無法看到任何東西。 –

+0

您是否可以填充imageview? – V1P3R

回答

1

資產的數組轉換到圖像的數組添加以下代碼來BSImagePicker的方法。

首先創建全局資產數組。這裏我創建了

var SelectedAssets = [PHAsset]() 

然後調用BSImagepicker的方法添加下面的代碼。

bs_presentImagePickerController(vc, animated: true, 
            select: { (asset: PHAsset) -> Void in 
             print("Selected: \(asset)") 
     }, deselect: { (asset: PHAsset) -> Void in 
      print("Deselected: \(asset)") 
     }, cancel: { (assets: [PHAsset]) -> Void in 
      print("Cancel: \(assets)") 
     }, finish: { (assets: [PHAsset]) -> Void in 
      print("Finish: \(assets)") 
      print(assets.count) 
      for i in 0..<assets.count 
      { 
       self.SelectedAssets.append(assets[i]) 
       print(self.SelectedAssets) 
      } 
     }, completion: nil) 

創建一個將您的資產數組轉換爲圖像數組的方法。這裏我創建了一個方法。

func getAllImages() -> Void { 

    print("get all images method called here") 
    if SelectedAssets.count != 0{ 
     for i in 0..<SelectedAssets.count{ 
      let manager = PHImageManager.defaultManager() 
      let option = PHImageRequestOptions() 
      var thumbnail = UIImage() 
      option.synchronous = true 
      manager.requestImageForAsset(SelectedAssets[i], targetSize: CGSize(width: 200, height: 200), contentMode: .AspectFill, options: option, resultHandler: {(result, info)->Void in 
       thumbnail = result! 
      }) 
      self.PhotoArray.append(thumbnail) 
     } 
    } 
    ImagesCollectionView.reloadData() 
} 

在上面的方法中,我使用集合視圖顯示所有選定的圖像。

現在執行視圖中的選擇器方法會出現延遲後執行獲取所有圖像方法。如下:

override func viewWillAppear(animated: Bool) { 
    super.viewWillAppear(animated) 

    self.performSelector(#selector(ViewController.getAllImages), withObject: nil, afterDelay: 0.5) 
} 

這就是它,你將獲得選擇的圖像...希望它會幫助你..

+0

謝謝它真的幫助我很多:) –