Swift基础(三十三)Photos.framework框架
来源:互联网 发布:淘宝投诉怎么弄 编辑:程序博客网 时间:2024/05/16 17:01
class ViewController: UIViewController {
var oneImageView: UIImageView?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.view.backgroundColor = UIColor.whiteColor()
// 列出所有系统智能相册
let smartAlbums: PHFetchResult = PHAssetCollection.fetchAssetCollectionsWithType(PHAssetCollectionType.SmartAlbum, subtype: .AlbumRegular, options: nil)
print("智能\(smartAlbums.count)个")
// smartAlbums中保存的是各个智能相册对应的PHAssetCollection
for var i in 0 ..< smartAlbums.count {
// 获取一个相册(PHAssetCollection)
let collection = smartAlbums[i]
if collection.isKindOfClass(PHAssetCollection.classForCoder()) {
// 类型强制转换
let assetCollection = collection as! PHAssetCollection
// 从每一个智能相册中获取到的PHFetchResult中包含的才是真正的资源(PHAsset)
let assetsFetchResults: PHFetchResult = PHAsset.fetchAssetsInAssetCollection(assetCollection, options: nil)
print("\(assetCollection.localizedTitle)相册,共有照片数:\(assetsFetchResults.count)")
for (var i = 0; i < assetsFetchResults.count; i++) {
// 获取一个资源(PHAsset)
let asset = assetsFetchResults[i] as! PHAsset;
}
}
}
// 列出用户创建的相册,并获取每一个相册中的PHAsset对象
let topLevelUserCollection: PHFetchResult = PHCollectionList.fetchTopLevelUserCollectionsWithOptions(nil)
// topLevelUserCollections中保存的是各个用户创建的相册对应的PHAssetCollection
print("用户创建相册\(topLevelUserCollection.count)个")
for i in 0 ..< topLevelUserCollection.count {
// 获取一个相册(PHAssetCollection)
let collection = topLevelUserCollection[i]
if collection.isKindOfClass(PHAssetCollection.classForCoder()) {
// 类型强制转换
let assetCollection = collection as! PHAssetCollection
// 从每一个智能相册中获取到的PHFetchResult中包含的才是真正的资源(PHAsset)
let assetsFetchResult: PHFetchResult = PHAsset.fetchAssetsInAssetCollection(assetCollection, options: nil)
print("\(assetCollection.localizedTitle)相册,共有照片数:\(assetsFetchResult.count)")
for (var i = 0; i < assetsFetchResult.count; i++) {
// 获取一个资源(PHAsset)
let asset = assetsFetchResult[i] as! PHAsset;
}
}
}
// 获取所有资源的集合,并按资源的创建时间排序
var assetArray: NSMutableArray?
let options: PHFetchOptions = PHFetchOptions.init()
options.sortDescriptors = [NSSortDescriptor.init(key: "creationDate", ascending: true)]
let assetsFetchResults: PHFetchResult = PHAsset.fetchAssetsWithOptions(options)
for (var i = 0; i < assetsFetchResults.count; i++) {
// 获取一个资源(PHAsset)
let asset = assetsFetchResults[i] as! PHAsset;
// 添加到数组
assetArray?.addObject(asset)
}
// 获取PHAsset对象中的图片,可以根据不同尺寸来获取
oneImageView = UIImageView(frame: CGRectMake(10, 20, 300, 400))
self.view.addSubview(oneImageView!)
/* 屏幕宽度 */
let screenWidth = UIScreen.mainScreen().bounds.size.width
/* 屏幕高度 */
let screenHeight = UIScreen.mainScreen().bounds.height
// 获取缩略图方法
func getAssetThumbnail(asset: PHAsset) -> Void {
// 并获取其中的缩略图
let manager = PHImageManager.defaultManager()
let option = PHImageRequestOptions()
option.synchronous = true
manager.requestImageForAsset(asset, targetSize: CGSize(width: screenWidth / 4, height: screenHeight / 4), contentMode: .AspectFit, options: option, resultHandler: { (result, info) -> Void in
self.oneImageView?.image = result
})
}
}
}
var oneImageView: UIImageView?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.view.backgroundColor = UIColor.whiteColor()
// 列出所有系统智能相册
let smartAlbums: PHFetchResult = PHAssetCollection.fetchAssetCollectionsWithType(PHAssetCollectionType.SmartAlbum, subtype: .AlbumRegular, options: nil)
print("智能\(smartAlbums.count)个")
// smartAlbums中保存的是各个智能相册对应的PHAssetCollection
for var i in 0 ..< smartAlbums.count {
// 获取一个相册(PHAssetCollection)
let collection = smartAlbums[i]
if collection.isKindOfClass(PHAssetCollection.classForCoder()) {
// 类型强制转换
let assetCollection = collection as! PHAssetCollection
// 从每一个智能相册中获取到的PHFetchResult中包含的才是真正的资源(PHAsset)
let assetsFetchResults: PHFetchResult = PHAsset.fetchAssetsInAssetCollection(assetCollection, options: nil)
print("\(assetCollection.localizedTitle)相册,共有照片数:\(assetsFetchResults.count)")
for (var i = 0; i < assetsFetchResults.count; i++) {
// 获取一个资源(PHAsset)
let asset = assetsFetchResults[i] as! PHAsset;
}
}
}
// 列出用户创建的相册,并获取每一个相册中的PHAsset对象
let topLevelUserCollection: PHFetchResult = PHCollectionList.fetchTopLevelUserCollectionsWithOptions(nil)
// topLevelUserCollections中保存的是各个用户创建的相册对应的PHAssetCollection
print("用户创建相册\(topLevelUserCollection.count)个")
for i in 0 ..< topLevelUserCollection.count {
// 获取一个相册(PHAssetCollection)
let collection = topLevelUserCollection[i]
if collection.isKindOfClass(PHAssetCollection.classForCoder()) {
// 类型强制转换
let assetCollection = collection as! PHAssetCollection
// 从每一个智能相册中获取到的PHFetchResult中包含的才是真正的资源(PHAsset)
let assetsFetchResult: PHFetchResult = PHAsset.fetchAssetsInAssetCollection(assetCollection, options: nil)
print("\(assetCollection.localizedTitle)相册,共有照片数:\(assetsFetchResult.count)")
for (var i = 0; i < assetsFetchResult.count; i++) {
// 获取一个资源(PHAsset)
let asset = assetsFetchResult[i] as! PHAsset;
}
}
}
// 获取所有资源的集合,并按资源的创建时间排序
var assetArray: NSMutableArray?
let options: PHFetchOptions = PHFetchOptions.init()
options.sortDescriptors = [NSSortDescriptor.init(key: "creationDate", ascending: true)]
let assetsFetchResults: PHFetchResult = PHAsset.fetchAssetsWithOptions(options)
for (var i = 0; i < assetsFetchResults.count; i++) {
// 获取一个资源(PHAsset)
let asset = assetsFetchResults[i] as! PHAsset;
// 添加到数组
assetArray?.addObject(asset)
}
// 获取PHAsset对象中的图片,可以根据不同尺寸来获取
oneImageView = UIImageView(frame: CGRectMake(10, 20, 300, 400))
self.view.addSubview(oneImageView!)
/* 屏幕宽度 */
let screenWidth = UIScreen.mainScreen().bounds.size.width
/* 屏幕高度 */
let screenHeight = UIScreen.mainScreen().bounds.height
// 获取缩略图方法
func getAssetThumbnail(asset: PHAsset) -> Void {
// 并获取其中的缩略图
let manager = PHImageManager.defaultManager()
let option = PHImageRequestOptions()
option.synchronous = true
manager.requestImageForAsset(asset, targetSize: CGSize(width: screenWidth / 4, height: screenHeight / 4), contentMode: .AspectFit, options: option, resultHandler: { (result, info) -> Void in
self.oneImageView?.image = result
})
}
}
}
0 0
- Swift基础(三十三)Photos.framework框架
- Photos Framework 新照片框架
- 基于Photos.framework自定制相册swift
- Photos.frameWork
- Photos Framework介绍
- iOS Photos.framework 使用
- Photos.framework学习笔记
- iOS8 Photos Framework
- 【JAVA基础】集合框架(collections framework)
- Photos框架学习备忘
- 七十五、基础框架(三十三)内存管理-引用计数 与 字符串物件
- Java基础之(三十三)Map
- Swift基础框架的封装
- Photos 框架实践以及坑
- Photos 框架实践以及坑
- Photos 框架实践以及坑
- Photos 框架实践以及坑
- Photos 框架实践以及坑
- leetcode No54. Spiral Matrix
- 支付
- hdu 5745(bitset)
- 模板方法模式
- Android多屏幕适配相关
- Swift基础(三十三)Photos.framework框架
- 【POJ】3268 - Silver Cow Party(dijkstra & 优先队列 & 好题)
- 简单行为树(备忘)
- 生姜-本草
- IOS APP发布-The certificate used to sign "XXX" has either expired or has been revoked
- 随书实验须知
- Mac OS X 下开发者常用的几个环境变量配置
- 常用VS插件
- java正则表达式大全