一款圖片,視頻選擇類庫
1. 預(yù)覽
2. 功能
- 一款圖片,視頻選擇類庫
- 支持直接顯示相冊(cè)選擇
- 支持類似QQ方式Sheet選擇
- iOS8+支持動(dòng)態(tài)監(jiān)測(cè)PhotoLibrary變化
- 支持預(yù)覽圖片,預(yù)覽視頻
3. 使用方法
- 命令行下
git clone https://github.com/ws00801526/XMNPhotoPickerKit.git
- 拖動(dòng)
XMNPhotoPickerKit
到你的工程內(nèi) - 導(dǎo)入頭文件
XMNPhotoPickerKit.h
即可 - 具體用法,請(qǐng)參考demo
3.1 直接顯示相冊(cè)
- (void)_showPhotoPickerC {
//1.初始化一個(gè)XMNPhotoPickerController
XMNPhotoPickerController *photoPickerC = [[XMNPhotoPickerController alloc] initWithMaxCount:9 delegate:nil];
//3.取消注釋下面代碼,使用代理方式回調(diào),代理方法參考XMNPhotoPickerControllerDelegate
// photoPickerC.photoPickerDelegate = self;
//3..設(shè)置選擇完照片的block 回調(diào)
__weak typeof(*&self) wSelf = self;
[photoPickerC setDidFinishPickingPhotosBlock:^(NSArray<UIImage *> *images, NSArray<XMNAssetModel *> *assets) {
__weak typeof(*&self) self = wSelf;
NSLog(@"picker images :%@ \n\n assets:%@",images,assets);
//!!!如果需要自定義大小的圖片 使用下面方法
// [[XMNPhotoManager sharedManager] getThumbnailWithAsset:<# asset in assets #> size:<# your size #> completionBlock:^(UIImage * _Nullable image) {
//
// }];
self.assets = [assets copy];
[self.collectionView reloadData];
//XMNPhotoPickerController 確定選擇,并不會(huì)自己dismiss掉,需要自己dismiss
[self dismissViewControllerAnimated:YES completion:nil];
}];
//4.設(shè)置選擇完視頻的block回調(diào)
[photoPickerC setDidFinishPickingVideoBlock:^(UIImage *coverImage, XMNAssetModel * asset) {
__weak typeof(*&self) self = wSelf;
NSLog(@"picker image :%@\n\n asset:%@\n\n",coverImage,asset);
self.assets = @[asset];
[self.collectionView reloadData];
//XMNPhotoPickerController 確定選擇,并不會(huì)自己dismiss掉,需要自己dismiss
[self dismissViewControllerAnimated:YES completion:nil];
}];
//5.設(shè)置用戶取消選擇的回調(diào) 可選
[photoPickerC setDidCancelPickingBlock:^{
NSLog(@"photoPickerC did Cancel");
//此處不需要自己dismiss
}];
//6. 顯示photoPickerC
[self presentViewController:photoPickerC animated:YES completion:nil];
}
3.2 顯示XMNPhotoPicker
- (void)_showPhotoPicker {
//1. 推薦使用XMNPhotoPicker 的單例
//2. 設(shè)置選擇完照片的block回調(diào)
[[XMNPhotoPicker sharePhotoPicker] setDidFinishPickingPhotosBlock:^(NSArray<UIImage *> *images, NSArray<XMNAssetModel *> *assets) {
NSLog(@"picker images :%@ \n\n assets:%@",images,assets);
self.assets = [assets copy];
[self.collectionView reloadData];
}];
//3. 設(shè)置選擇完視頻的block回調(diào)
[[XMNPhotoPicker sharePhotoPicker] setDidFinishPickingVideoBlock:^(UIImage * image, XMNAssetModel *asset) {
NSLog(@"picker video :%@ \n\n asset :%@",image,asset);
self.assets = @[asset];
[self.collectionView reloadData];
}];
//4. 顯示XMNPhotoPicker
[[XMNPhotoPicker sharePhotoPicker] showPhotoPickerwithController:self animated:YES];
}