zoukankan      html  css  js  c++  java
  • swift 将图片保存到自定义相册中

    import UIKit
    import Photos
    @available(iOS 8.0, *)
    class CustomAblum: NSObject {
        static let sharedInstance = CustomAblum()
        
        var assetCollection: PHAssetCollection!
        var albumFound : Bool = false
        var photosAsset: PHFetchResult!
        var collection: PHAssetCollection!
        var assetCollectionPlaceholder: PHObjectPlaceholder!
        static let albumName = "扫描图片"
        override init() {
            super.init();
            self.createAlbum()
        }
        private func createAlbum() {
            let fetchOptions = PHFetchOptions()
            fetchOptions.predicate = NSPredicate(format: "title = %@",CustomAblum.albumName);
            let collection : PHFetchResult = PHAssetCollection.fetchAssetCollectionsWithType(.Album, subtype: .Any, options: fetchOptions)
            
            if let _: AnyObject = collection.firstObject {
                self.albumFound = true
                assetCollection = collection.firstObject as! PHAssetCollection
            } else {
                PHPhotoLibrary.sharedPhotoLibrary().performChanges({
                    let createAlbumRequest : PHAssetCollectionChangeRequest = PHAssetCollectionChangeRequest.creationRequestForAssetCollectionWithTitle(CustomAblum.albumName);
                    self.assetCollectionPlaceholder = createAlbumRequest.placeholderForCreatedAssetCollection
                    }, completionHandler: { success, error in
                        self.albumFound = (success ? true: false)
                        
                        if (success) {
                            let collectionFetchResult = PHAssetCollection.fetchAssetCollectionsWithLocalIdentifiers([self.assetCollectionPlaceholder.localIdentifier], options: nil)
                            print(collectionFetchResult)
                            self.assetCollection = collectionFetchResult.firstObject as! PHAssetCollection
                        }
                })
            }
        }
        func saveImage(image: UIImage) {
            if self.assetCollection != nil {
                PHPhotoLibrary.sharedPhotoLibrary().performChanges({
                    let assetChangeRequest = PHAssetChangeRequest.creationRequestForAssetFromImage(image)
                    let assetPlaceholder = assetChangeRequest.placeholderForCreatedAsset
                    let albumChangeRequest = PHAssetCollectionChangeRequest(forAssetCollection: self.assetCollection)
                    albumChangeRequest?.addAssets([assetPlaceholder!])
                    }, completionHandler: nil)
            }
        }
        
    }

    使用时直接掉saveImage方法。

  • 相关阅读:
    广告效果滚动
    判断背景图片是否加载成功
    css3创建多边形clip属性,可用来绘制不规则图形了
    不允许用户选中文本的两种方法
    栈类模板设计及应用
    HDOJ 题目类型
    极大团数量模板
    HDU 1522 Marriage is Stable 稳定婚姻匹配
    字符串类设计与应用
    正向与反向拓扑排序的区别(hdu 1285 确定比赛名次和hdu 4857 逃生)
  • 原文地址:https://www.cnblogs.com/sunmair/p/6018946.html
Copyright © 2011-2022 走看看