YVImagePickerController-支持單選,多選,視頻,圖片,幻燈片,視頻剪輯(swift 3+)

YVImagePickerController.gif

穿越吧
解決iOS11,UIImagePickerController沒有提示請求權限的問題

pod 'YVImagePickerController' ,'~> 1.0.7'

2.在plist文件中加入

 <key>NSPhotoLibraryUsageDescription</key>
   <string>App需要您的同意,才能訪問相冊</string>
 import Photos

遵守協(xié)議 YVImagePickerControllerDelegate
初始化

let pickerVC = YVImagePickerController()
self.present(pickerVC, animated: true, completion: nil)

配置

yvmaxSelected 多選時最大張數(shù)
yvcolumns 每行列數(shù)
topViewColor 導航欄背景色
yvmediaType 媒體類型:照片或視頻
yvIsMultiselect 是否多選,默認單選
selectedBtn_nimage 多選時,未選中image
selectedBtn_simage 多選時,選中image

實現(xiàn)代理方法

 func yvimagePickerController(_ picker: YVImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { }
    
 func yvimagePickerControllerDidCancel(_ picker: YVImagePickerController) {}

4.示例

 override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {

        /*
         照片
         每行4列
         單選
         */
        let pickerVC = YVImagePickerController()
        pickerVC.yvmediaType = .image
        pickerVC.yvcolumns = 4
        pickerVC.yvIsMultiselect = false
        pickerVC.delegate = self
        self.present(pickerVC, animated: true, completion: nil)
        
        
        /*
         照片
         每行5列
         多選
         */
        let pickerVC = YVImagePickerController()
        pickerVC.yvmediaType = .image
        pickerVC.yvcolumns = 5
        pickerVC.yvIsMultiselect = true
        pickerVC.delegate = self
        self.present(pickerVC, animated: true, completion: nil)
        
        
        /*
         視頻
         每行5列
         單選
         */
        let pickerVC = YVImagePickerController()
        pickerVC.yvmediaType = .video
        pickerVC.yvcolumns = 5
        pickerVC.yvIsMultiselect = false
        pickerVC.delegate = self
        self.present(pickerVC, animated: true, completion: nil)



  }
    
  func yvimagePickerController(_ picker: YVImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
        
        //單選照片
        if info["imagedata"] != nil{
            let image =  info["imagedata"] as! UIImage
            
        }
        //單選視頻
        else  if info["videodata"] != nil{
            let url = info["videodata"] as! URL
            
        }
        //多選照片
        else  if info["imagedatas"] != nil{
            let phassets = info["imagedatas"] as! Array<PHAsset>
            
            
        }
        
  }
  func yvimagePickerControllerDidCancel(_ picker: YVImagePickerController) {
        picker.dismiss(animated: true, completion: nil)
  }
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容