Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gang544043963/LGPhotoBrowser
照片浏览器,相册选择器,自定义照相机(支持单拍、连拍)
https://github.com/gang544043963/LGPhotoBrowser
broswer image photo picker
Last synced: about 1 month ago
JSON representation
照片浏览器,相册选择器,自定义照相机(支持单拍、连拍)
- Host: GitHub
- URL: https://github.com/gang544043963/LGPhotoBrowser
- Owner: gang544043963
- License: mit
- Created: 2015-11-04T06:18:06.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2019-11-06T06:44:18.000Z (about 5 years ago)
- Last Synced: 2024-10-12T18:36:19.852Z (2 months ago)
- Topics: broswer, image, photo, picker
- Language: Objective-C
- Homepage:
- Size: 12.9 MB
- Stars: 543
- Watchers: 15
- Forks: 114
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- Awesome-iOS - LGPhotoBrowser - 照片浏览器,相册选择器,自定义照相机(支持单拍、连拍) (UI Components)
README
# LGPhotoBrowser [![Travis](https://img.shields.io/travis/rust-lang/rust.svg)]() [![License MIT](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://raw.githubusercontent.com/GIKICoder/GDataBase/master/LICENSE)
# 前言
- 此框架经过实际项目锤炼,使用过程中改善了众多bug,在稳定性、流畅性以及内存消耗方面做了大量优化。但难免还有缺陷,希望同仁们在使用过程中发现并指正,并提issue!
- 注意:如果照相机不需要连拍功能,建议采用系统相机,经测试,自定义相机的体验和内存消耗均劣于系统相机。
- 相册优化方法:[iOS中自定义相册功能性能优化](http://blog.csdn.net/gang544043963/article/details/49329261)
- 如果对您有帮助,记得star,动力源自鼓励
# 简介
- 此框架包含三个模块:图片浏览器,相册选择器,自定义照相机(支持单拍、连拍);- 界面仿照微信的样式;
- 加载本地照片速度快;
- 图片浏览器采用后台预加载手段,完全消除大图浏览的卡顿现象;
- 具备相册已选组别记忆功能;
- 支持夜间模式;
# 1.图片浏览器
# 2.相册选择器
# 3.自定义相机
# 添加到工程
第一步:拷贝Class文件文件夹和Images文件夹到工程.第二步:'#import "LGPhoto.h"'
备注:
- 自定义相册通常会根据需求做调整,所以不支持cocoaPods
- 用到的第三方:
|图片下载|等待框 |
|:------:|:--------------------:|
|SDWebImage |DACircularProgressView|如果你的项目中已经存在这两个框架,请手动删除Third文件夹中对应的框架。
# 初始化初始化相册选择器,里面包括大图浏览
```
/**
* 初始化相册选择器
*/
- (void)presentPhotoPickerViewControllerWithStyle:(LGShowImageType)style {
LGPhotoPickerViewController *pickerVc = [[LGPhotoPickerViewController alloc] initWithShowType:style];
pickerVc.status = PickerViewShowStatusCameraRoll;
pickerVc.maxCount = 9; // 最多能选9张图片
pickerVc.delegate = self;
self.showType = style;
[pickerVc showPickerVc:self];
}
```
如果单独使用图片浏览器,也很简单:初始化+实现数据源方法
```
/**
* 初始化图片浏览器
*/
- (void)pushPhotoBroswerWithStyle:(LGShowImageType)style{
LGPhotoPickerBrowserViewController *BroswerVC = [[LGPhotoPickerBrowserViewController alloc] init];
BroswerVC.delegate = self;
BroswerVC.dataSource = self;
BroswerVC.showType = style;
self.showType = style;
[self presentViewController:BroswerVC animated:YES completion:nil];
}
```
```
#pragma mark - LGPhotoPickerBrowserViewControllerDataSource- (NSInteger)photoBrowser:(LGPhotoPickerBrowserViewController *)photoBrowser numberOfItemsInSection:(NSUInteger)section{if (self.showType == LGShowImageTypeImageBroswer) {
return self.LGPhotoPickerBrowserPhotoArray.count;
} else if (self.showType == LGShowImageTypeImageURL) {
return self.LGPhotoPickerBrowserURLArray.count;
} else {
NSLog(@"非法数据源");
return 0;
}
}
//在这里,需要把图片包装成LGPhotoPickerBrowserPhoto对象,然后return即可。
- (id)photoBrowser:(LGPhotoPickerBrowserViewController *)pickerBrowser photoAtIndexPath:(NSIndexPath *)indexPath{
if (self.showType == LGShowImageTypeImageBroswer) {
return [self.LGPhotoPickerBrowserPhotoArray objectAtIndex:indexPath.item];
} else if (self.showType == LGShowImageTypeImageURL) {
return [self.LGPhotoPickerBrowserURLArray objectAtIndex:indexPath.item];
} else {
NSLog(@"非法数据源");
return nil;
}
}```
详见ViewController.m,注释很清楚# 环境支持
iOS7及更高# LICENSE
LGPhotoBrowser is released under the MIT license. See LICENSE for details.