iOS 圖片多選 拍攝 錄像 放大瀏覽 LLImagePickerView

繼上次寫的圖片瀏覽放大的框架 LLPhotoBrowser 之后
發(fā)現(xiàn)滿足不了一些需求 就在此封裝了一個集圖片放大瀏覽 圖片多選 拍攝 錄像 于一體的框架LLImagePickerView
有什么問題可留言本人第一時間解答問題
有喜歡的可動動小指頭點贊
GitHub地址:https://github.com/liuniuliuniu/LLImagePickerView

LLImagePickerView.gif

文章目錄

  • Version
  • 如何添加
  • 使用介紹
  • Hope

Version

  • 1.0.1 大版本的更改,更改初始化方法,增加每行顯示圖片個數(shù)的接口,更加容易適配各種需求

  • 0.0.3 修復嵌套多層控制器時 pop 出現(xiàn)的bug

  • 0.0.2 指定依賴庫版本 修復部分加載圖片Bundle的問題

  • 0.0.1 支持cocoapod 并且修復了present控制器的bug,以及圖片錯亂的問題

功能實現(xiàn)

  • 圖片多選及單選,視頻多選及單選
  • 時刻回調(diào)出媒體數(shù)據(jù)用于上傳
  • 直接對圖片和視頻預覽
  • 多種屬性自定義:
    • 媒體類型
    • 刪除、限定最大選擇數(shù)數(shù)量
    • 同個媒體資源是否多次選擇
    • 是否展示刪除按鈕
    • 是否顯示添加按鈕
    • 選擇圖片視圖的背景顏色

如何添加

iOS 8.0 or later

  • 支持 cocoaPod
pod 'LLImagePickerView'

有人反饋搜不到 可能是本地 cocoapod 庫的問題 執(zhí)行代碼 pod setup 更新本地cocoapod 庫即可

  • 也可以手動添加
    • LLImagePickerView文件拉到項目中
    • 添加頭文件#import "LLImagePickerView.h"
    • 還要添加一些依賴庫
pod 'TZImagePickerController',pod 'MWPhotoBrowser'

使用介紹 (具體使用可看LLImagePickerDemo)

  • 唯一的初始化方法, Frame 以及 countOfRow
  • Frame中的高度設置0即可,框架的高度會自動根據(jù)寬度以及每行展示個數(shù)來自適應
// 唯一的初始化方法, Frame 以及 countOfRow
 LLImagePickerView *pickerV = [LLImagePickerView ImagePickerViewWithFrame:CGRectMake(0, 70, [UIScreen mainScreen].bounds.size.width, 0) CountOfRow:3];
  • 需要展示的媒體的資源類型
typedef enum : NSUInteger {
    LLImageTypePhotoAndCamera,// 本地相機和圖片
    LLImageTypePhoto,// 本地圖片
    LLImageTypeCamera,// 相機拍攝
    LLImageTypeVideoTape,// 錄像
    LLImageTypeVideo,// 視頻
    LLImageTypeAll,// 所有資源
} LLImageType;

pickerV.type = LLImageTypePhoto;
  • 是否允許 同個圖片或視頻進行多次選擇
pickerV.allowMultipleSelection = YES;
  • 視情況看是否需要改變高度,目前單獨使用且作為tableview的header,實時監(jiān)控高度的變化
pickerV observeViewHeight:^(CGFloat height) {

}];
  • 隨時獲取選擇的媒體文件
[pickerV observeSelectedMediaArray:^(NSArray<LLImagePickerModel *> *list) {
for (LLImagePickerModel *model in list) {
// 在這里取到模型的數(shù)據(jù)
NSLog(@"%@",model.imageUrlString);
}
}];
  • preShowMedias 可以作為圖片預覽框架先行傳入數(shù)據(jù),傳入的數(shù)據(jù)可以是:UIImage,NSString,至于其他的也可以傳入 LLImagePickerModel類型 事先對LLImagePickerModel 的屬性賦值即可
//在預覽或者之前已經(jīng)有圖片的情況下,需要傳入進行預先展示
pickerV.preShowMedias = @[@"4",@"1",@"http://s1.dwstatic.com/group1/M00/AA/B8/b9a8f39ed9c8609354a07cc38452aef9.gif"];
  • maxImageSelected 圖片、視頻最多選擇個數(shù),包括事先展示的 preShowMedias的數(shù)量. default is 9
// 自定義從本地相冊中所選取的最大數(shù)量
pickerV.maxImageSelected = 5;
  • showDelete 是否顯示刪除按鈕. Defaults is YES
// 預覽情況下設置為 NO
pickerV.showDelete = NO;
  • showAddButton 是否需要顯示添加按鈕. Defaults is YES
//編輯情況下設置為 YES  預覽情況下設置為 NO
pickerV.showAddButton = NO;
  • allowPickingVideo 是否允許 在選擇圖片的同時可以選擇視頻文件. default is NO
//如果希望在選擇圖片的時候,出現(xiàn)視頻資源,那么可以設置為 YES
pickerV.allowPickingVideo = NO;
  • allowMultipleSelection 是否允許 同個圖片或視頻進行多次選擇. default is YES 如果設置為 NO,那么在已經(jīng)選擇了一張以上圖片之后,就不能同時選擇視頻
//如果不希望已經(jīng)選擇的圖片或視頻,再次被選擇,那么可以設置為 NO
pickerV.allowMultipleSelection = NO;
  • backgroundColor 底部collectionView的背景顏色,有特殊顏色要求的可以單獨去設置

Hope

  • 代碼使用過程中,發(fā)現(xiàn)任何問題,可以隨時issue
  • 如果有更多建議或者想法也可以直接聯(lián)系我 QQ:416997919
  • 覺得框架對你有一點點幫助的,就請支持下,點個贊。
  • 期間感謝有幾位朋友提出寶貴的意見讓此框架更加完善 感謝
    GitHub地址:https://github.com/liuniuliuniu/LLImagePickerView

《部分參考網(wǎng)絡》

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

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

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