Swift 照片/視頻選擇器

界面快照

項(xiàng)目鏈接

功能

功能簡介

要求

  • iOS 12.0+
  • Xcode 12.0+
  • Swift 5.4+

安裝

Swift Package Manager

?? 需要 Xcode 12.0 及以上版本來支持資源文件/本地化文件的添加。

dependencies: [
    .package(url: "https://github.com/SilenceLove/HXPHPicker.git", .upToNextMajor(from: "1.2.3"))
]

CocoaPods

將下面內(nèi)容添加到 Podfile,并執(zhí)行依賴更新。

pod 'HXPHPicker'

Carthage

將下面內(nèi)容添加到 Cartfile,并執(zhí)行依賴更新。

github "SilenceLove/HXPHPicker"

使用方法

我們?cè)?Wiki 中提供了更詳細(xì)的使用說明。

準(zhǔn)備工作

按需在你的 Info.plist 中添加以下鍵值:

Key 備注
NSPhotoLibraryUsageDescription 允許訪問相冊(cè)
NSPhotoLibraryAddUsageDescription 允許保存圖片至相冊(cè)
PHPhotoLibraryPreventAutomaticLimitedAccessAlert 設(shè)置為 YES iOS 14+ 以禁用自動(dòng)彈出添加更多照片的彈框(已適配 Limited 功能,可由用戶主動(dòng)觸發(fā),提升用戶體驗(yàn))
NSCameraUsageDescription 允許使用相機(jī)
NSMicrophoneUsageDescription 允許使用麥克風(fēng)

快速上手

import HXPHPicker

class ViewController: UIViewController {

    func presentPickerController() {
        // 設(shè)置與微信主題一致的配置
        let config = PhotoTools.getWXPickerConfig()
        let pickerController = PhotoPickerController(picker: config)
        pickerController.pickerDelegate = self
        // 當(dāng)前被選擇的資源對(duì)應(yīng)的 PhotoAsset 對(duì)象數(shù)組
        pickerController.selectedAssetArray = selectedAssets 
        // 是否選中原圖
        pickerController.isOriginal = isOriginal
        present(pickerController, animated: true, completion: nil)
    }
}

extension ViewController: PhotoPickerControllerDelegate {
    
    /// 選擇完成之后調(diào)用
    /// - Parameters:
    ///   - pickerController: 對(duì)應(yīng)的 PhotoPickerController
    ///   - result: 選擇的結(jié)果
    ///     result.photoAssets  選擇的資源數(shù)組
    ///     result.isOriginal   是否選中原圖
    func pickerController(_ pickerController: PhotoPickerController, 
                            didFinishSelection result: PickerResult) {
        result.getImage { (image, photoAsset, index) in
            if let image = image {
                print("success", image)
            }else {
                print("failed")
            }
        } completionHandler: { (images) in
            print(images)
        }
    }
    
    /// 點(diǎn)擊取消時(shí)調(diào)用
    /// - Parameter pickerController: 對(duì)應(yīng)的 PhotoPickerController
    func pickerController(didCancel pickerController: PhotoPickerController) {
        
    }
}

更新日志

版本 發(fā)布時(shí)間 Xcode Swift iOS
v1.2.3 2021-10-08 12.5.1 5.4 12.0+

版權(quán)協(xié)議

HXPHPicker 基于 MIT 協(xié)議進(jìn)行分發(fā)和使用,更多信息參見協(xié)議文件。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容