Commit 5374616aa279f36055eadd361cbdb5f691a01f64

Authored by daojian
1 parent b1cd0c87

0.0.25 版本 修改类名称

Showing 65 changed files with 850 additions and 853 deletions

Too many changes to show.

To preserve performance only 65 of 78 files are displayed.

CNLiveImagePickerController.podspec
@@ -8,7 +8,7 @@ @@ -8,7 +8,7 @@
8 8
9 Pod::Spec.new do |s| 9 Pod::Spec.new do |s|
10 s.name = 'CNLiveImagePickerController' 10 s.name = 'CNLiveImagePickerController'
11 - s.version = '0.0.24' 11 + s.version = '0.0.25'
12 s.summary = '相册' 12 s.summary = '相册'
13 13
14 # This description is used to generate tags and improve search results. 14 # This description is used to generate tags and improve search results.
CNLiveImagePickerController/Classes/CNEditVideoController.h
@@ -8,11 +8,11 @@ @@ -8,11 +8,11 @@
8 8
9 #import <UIKit/UIKit.h> 9 #import <UIKit/UIKit.h>
10 10
11 -@class TZAssetModel; 11 +@class CNTZAssetModel;
12 12
13 @interface CNEditVideoController : UIViewController 13 @interface CNEditVideoController : UIViewController
14 14
15 -@property (nonatomic, strong) TZAssetModel *model; 15 +@property (nonatomic, strong) CNTZAssetModel *model;
16 16
17 @property (nonatomic, strong) NSMutableArray *models; ///< All photo models / 所有图片模型数组 17 @property (nonatomic, strong) NSMutableArray *models; ///< All photo models / 所有图片模型数组
18 @property (nonatomic, strong) NSMutableArray *photos; ///< All photos / 所有图片数组 18 @property (nonatomic, strong) NSMutableArray *photos; ///< All photos / 所有图片数组
CNLiveImagePickerController/Classes/CNEditVideoController.m
@@ -8,12 +8,12 @@ @@ -8,12 +8,12 @@
8 8
9 #import "CNEditVideoController.h" 9 #import "CNEditVideoController.h"
10 #import <AVFoundation/AVFoundation.h> 10 #import <AVFoundation/AVFoundation.h>
11 -#import "TZAssetModel.h" 11 +#import "CNTZAssetModel.h"
12 #import <objc/runtime.h> 12 #import <objc/runtime.h>
13 #import <AssetsLibrary/AssetsLibrary.h> 13 #import <AssetsLibrary/AssetsLibrary.h>
14 -#import "TZImagePickerController.h"  
15 -#import "TZPhotoPreviewCell.h"  
16 -#import "TZImageCropManager.h" 14 +#import "CNTZImagePickerController.h"
  15 +#import "CNTZPhotoPreviewCell.h"
  16 +#import "CNTZImageCropManager.h"
17 #import <SDAutoLayout/SDAutoLayout.h> 17 #import <SDAutoLayout/SDAutoLayout.h>
18 #import <CNLiveBaseKit/CNLiveBaseKit.h> 18 #import <CNLiveBaseKit/CNLiveBaseKit.h>
19 19
@@ -422,8 +422,8 @@ @@ -422,8 +422,8 @@
422 duration = [[self.model.asset valueForProperty:ALAssetPropertyDuration] doubleValue]; 422 duration = [[self.model.asset valueForProperty:ALAssetPropertyDuration] doubleValue];
423 } 423 }
424 424
425 - TZImagePickerController *_tzImagePickerVc = (TZImagePickerController *)self.navigationController;  
426 - _interval = _tzImagePickerVc.maxEditVideoTime/10.0; 425 + CNTZImagePickerController *_CNTZImagePickerVc = (CNTZImagePickerController *)self.navigationController;
  426 + _interval = _CNTZImagePickerVc.maxEditVideoTime/10.0;
427 _measureCount = (NSInteger)(duration / _interval); 427 _measureCount = (NSInteger)(duration / _interval);
428 ///播放视频的 428 ///播放视频的
429 if ([self.model.asset isKindOfClass:[PHAsset class]]) {//PHAsset 429 if ([self.model.asset isKindOfClass:[PHAsset class]]) {//PHAsset
@@ -484,8 +484,8 @@ @@ -484,8 +484,8 @@
484 } 484 }
485 485
486 if (self.backButtonEditClickBlock) { 486 if (self.backButtonEditClickBlock) {
487 - TZImagePickerController *_tzImagePickerVc = (TZImagePickerController *)self.navigationController;  
488 - self.backButtonEditClickBlock(_tzImagePickerVc.isSelectOriginalPhoto); 487 + CNTZImagePickerController *_CNTZImagePickerVc = (CNTZImagePickerController *)self.navigationController;
  488 + self.backButtonEditClickBlock(_CNTZImagePickerVc.isSelectOriginalPhoto);
489 } 489 }
490 UIViewController *vc = [self.navigationController popViewControllerAnimated:NO]; 490 UIViewController *vc = [self.navigationController popViewControllerAnimated:NO];
491 if (!vc) { 491 if (!vc) {
@@ -506,43 +506,43 @@ @@ -506,43 +506,43 @@
506 506
507 507
508 508
509 - TZImagePickerController *_tzImagePickerVc = (TZImagePickerController *)self.navigationController;  
510 - [_tzImagePickerVc showProgressHUD]; 509 + CNTZImagePickerController *_CNTZImagePickerVc = (CNTZImagePickerController *)self.navigationController;
  510 + [_CNTZImagePickerVc showProgressHUD];
511 _doneBtn.enabled = NO; 511 _doneBtn.enabled = NO;
512 _cancelBtn.enabled = NO; 512 _cancelBtn.enabled = NO;
513 __weak typeof(self) weakSelf = self; 513 __weak typeof(self) weakSelf = self;
514 514
515 if (!_avAsset) { 515 if (!_avAsset) {
516 - [_tzImagePickerVc hideProgressHUD];  
517 - [_tzImagePickerVc showAlertWithTitle:@"编辑视频失败"]; 516 + [_CNTZImagePickerVc hideProgressHUD];
  517 + [_CNTZImagePickerVc showAlertWithTitle:@"编辑视频失败"];
518 _doneBtn.enabled = YES; 518 _doneBtn.enabled = YES;
519 _cancelBtn.enabled = YES; 519 _cancelBtn.enabled = YES;
520 return; 520 return;
521 } 521 }
522 [self exportEditVideoForAsset:_avAsset range:[self getTimeRange] complete:^(BOOL isSuc, id asset) { 522 [self exportEditVideoForAsset:_avAsset range:[self getTimeRange] complete:^(BOOL isSuc, id asset) {
523 - [_tzImagePickerVc hideProgressHUD]; 523 + [_CNTZImagePickerVc hideProgressHUD];
524 524
525 if (isSuc) { 525 if (isSuc) {
526 [self stopPlay]; 526 [self stopPlay];
527 - [_tzImagePickerVc showProgressHUD];  
528 - TZAssetModel *editModel = [TZAssetModel modelWithAsset:asset type:TZAssetModelMediaTypeVideo]; 527 + [_CNTZImagePickerVc showProgressHUD];
  528 + CNTZAssetModel *editModel = [CNTZAssetModel modelWithAsset:asset type:CNTZAssetModelMediaTypeVideo];
529 529
530 // 如果没有选中过照片 点击确定时选中当前预览的照片 530 // 如果没有选中过照片 点击确定时选中当前预览的照片
531 - if (_tzImagePickerVc.selectedModels.count == 0 && _tzImagePickerVc.minImagesCount <= 0) {  
532 - [_tzImagePickerVc addSelectedModel:editModel]; 531 + if (_CNTZImagePickerVc.selectedModels.count == 0 && _CNTZImagePickerVc.minImagesCount <= 0) {
  532 + [_CNTZImagePickerVc addSelectedModel:editModel];
533 } 533 }
534 534
535 if (weakSelf.doneButtonEditClickBlock) { 535 if (weakSelf.doneButtonEditClickBlock) {
536 - weakSelf.doneButtonEditClickBlock(_tzImagePickerVc.isSelectOriginalPhoto); 536 + weakSelf.doneButtonEditClickBlock(_CNTZImagePickerVc.isSelectOriginalPhoto);
537 } 537 }
538 - [_tzImagePickerVc hideProgressHUD]; 538 + [_CNTZImagePickerVc hideProgressHUD];
539 dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ 539 dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
540 self->_doneBtn.enabled = YES; 540 self->_doneBtn.enabled = YES;
541 self->_cancelBtn.enabled = YES; 541 self->_cancelBtn.enabled = YES;
542 }); 542 });
543 543
544 }else{ 544 }else{
545 - [_tzImagePickerVc showAlertWithTitle:@"编辑失败"]; 545 + [_CNTZImagePickerVc showAlertWithTitle:@"编辑失败"];
546 dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ 546 dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
547 self->_doneBtn.enabled = YES; 547 self->_doneBtn.enabled = YES;
548 self->_cancelBtn.enabled = YES; 548 self->_cancelBtn.enabled = YES;
CNLiveImagePickerController/Classes/CNImagePickerController.h
1 // 1 //
2 -// CNTZImagePickerControllerViewController.h 2 +// CNCNTZImagePickerControllerViewController.h
3 // CNLiveNetAdd 3 // CNLiveNetAdd
4 // 4 //
5 // Created by 梁星国 on 2018/8/22. 5 // Created by 梁星国 on 2018/8/22.
6 // Copyright © 2018年 cnlive. All rights reserved. 6 // Copyright © 2018年 cnlive. All rights reserved.
7 // 7 //
8 8
9 -#import "TZImagePickerController.h" 9 +#import "CNTZImagePickerController.h"
10 10
11 -@interface CNImagePickerController : TZImagePickerController 11 +@interface CNImagePickerController : CNTZImagePickerController
12 12
13 /** 13 /**
14 配置 14 配置
15 */ 15 */
16 -- (void)configTZImagePicker; 16 +- (void)configCNTZImagePicker;
17 17
18 @end 18 @end
CNLiveImagePickerController/Classes/CNImagePickerController.m
1 // 1 //
2 -// CNTZImagePickerControllerViewController.m 2 +// CNCNTZImagePickerControllerViewController.m
3 // CNLiveNetAdd 3 // CNLiveNetAdd
4 // 4 //
5 // Created by 梁星国 on 2018/8/22. 5 // Created by 梁星国 on 2018/8/22.
@@ -24,7 +24,7 @@ @@ -24,7 +24,7 @@
24 /** 24 /**
25 配置 25 配置
26 */ 26 */
27 -- (void)configTZImagePicker{ 27 +- (void)configCNTZImagePicker{
28 28
29 // imagePickerVc.navigationBar.translucent = NO; 29 // imagePickerVc.navigationBar.translucent = NO;
30 30
@@ -77,7 +77,7 @@ @@ -77,7 +77,7 @@
77 self.allowCrop = NO; 77 self.allowCrop = NO;
78 self.needCircleCrop = NO; 78 self.needCircleCrop = NO;
79 // 设置横屏下的裁剪尺寸 79 // 设置横屏下的裁剪尺寸
80 - // imagePickerVc.cropRectLandscape = CGRectMake((self.view.tz_height - widthHeight) / 2, left, widthHeight, widthHeight); 80 + // imagePickerVc.cropRectLandscape = CGRectMake((self.view.CNTZ_height - widthHeight) / 2, left, widthHeight, widthHeight);
81 /* 81 /*
82 [imagePickerVc setCropViewSettingBlock:^(UIView *cropView) { 82 [imagePickerVc setCropViewSettingBlock:^(UIView *cropView) {
83 cropView.layer.borderColor = [UIColor redColor].CGColor; 83 cropView.layer.borderColor = [UIColor redColor].CGColor;
@@ -115,7 +115,7 @@ @@ -115,7 +115,7 @@
115 // imagePickerVc.preferredLanguage = @"zh-Hans"; 115 // imagePickerVc.preferredLanguage = @"zh-Hans";
116 116
117 // 设置languageBundle以使用其它语言 / Set languageBundle to use other language 117 // 设置languageBundle以使用其它语言 / Set languageBundle to use other language
118 - // imagePickerVc.languageBundle = [NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:@"tz-ru" ofType:@"lproj"]]; 118 + // imagePickerVc.languageBundle = [NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:@"CNTZ-ru" ofType:@"lproj"]];
119 119
120 /// 【自定义各页面/组件的样式】在界面初始化/组件setModel完成后调用,允许外界修改样式等 120 /// 【自定义各页面/组件的样式】在界面初始化/组件setModel完成后调用,允许外界修改样式等
121 //相册 121 //相册
@@ -238,12 +238,12 @@ @@ -238,12 +238,12 @@
238 238
239 }]; 239 }];
240 //相册cell 240 //相册cell
241 - [self setAssetCellDidSetModelBlock:^(TZAssetCell *cell, UIImageView *imageView, UIImageView *selectImageView, UILabel *indexLabel, UIView *bottomView, UILabel *timeLength, UIImageView *videoImgView) { 241 + [self setAssetCellDidSetModelBlock:^(CNTZAssetCell *cell, UIImageView *imageView, UIImageView *selectImageView, UILabel *indexLabel, UIView *bottomView, UILabel *timeLength, UIImageView *videoImgView) {
242 242
243 243
244 }]; 244 }];
245 //相簿 245 //相簿
246 - [self setAlbumCellDidSetModelBlock:^(TZAlbumCell *cell, UIImageView *posterImageView, UILabel *titleLabel) { 246 + [self setAlbumCellDidSetModelBlock:^(CNTZAlbumCell *cell, UIImageView *posterImageView, UILabel *titleLabel) {
247 [posterImageView setBackgroundColor:[UIColor whiteColor]]; 247 [posterImageView setBackgroundColor:[UIColor whiteColor]];
248 248
249 }]; 249 }];
@@ -285,10 +285,10 @@ @@ -285,10 +285,10 @@
285 285
286 }]; 286 }];
287 //相册cell 287 //相册cell
288 - [self setAssetCellDidLayoutSubviewsBlock:^(TZAssetCell *cell, UIImageView *imageView, UIImageView *selectImageView, UILabel *indexLabel, UIView *bottomView, UILabel *timeLength, UIImageView *videoImgView) { 288 + [self setAssetCellDidLayoutSubviewsBlock:^(CNTZAssetCell *cell, UIImageView *imageView, UIImageView *selectImageView, UILabel *indexLabel, UIView *bottomView, UILabel *timeLength, UIImageView *videoImgView) {
289 }]; 289 }];
290 //相簿 290 //相簿
291 - [self setAlbumCellDidLayoutSubviewsBlock:^(TZAlbumCell *cell, UIImageView *posterImageView, UILabel *titleLabel) { 291 + [self setAlbumCellDidLayoutSubviewsBlock:^(CNTZAlbumCell *cell, UIImageView *posterImageView, UILabel *titleLabel) {
292 292
293 }]; 293 }];
294 294
CNLiveImagePickerController/Classes/CNImagePickerManager.h
@@ -13,7 +13,7 @@ @@ -13,7 +13,7 @@
13 #pragma mark - TODO: 导出 13 #pragma mark - TODO: 导出
14 typedef void (^didFinishPickingPhotosHandle)(NSArray<UIImage *> *photos,NSArray *assets,BOOL isSelectOriginalPhoto);//选着图片返回 14 typedef void (^didFinishPickingPhotosHandle)(NSArray<UIImage *> *photos,NSArray *assets,BOOL isSelectOriginalPhoto);//选着图片返回
15 15
16 -typedef void (^didNewFinishPickingPhotosHandle) (NSArray<UIImage *> *photos,NSArray<TZAssetModel *> *models,NSArray *assets,BOOL isSelectOriginalPhoto); 16 +typedef void (^didNewFinishPickingPhotosHandle) (NSArray<UIImage *> *photos,NSArray<CNTZAssetModel *> *models,NSArray *assets,BOOL isSelectOriginalPhoto);
17 17
18 //typedef void (^failureBlock)(NSMutableArray* errorArray, NSError *error);//失败数组,错误 18 //typedef void (^failureBlock)(NSMutableArray* errorArray, NSError *error);//失败数组,错误
19 19
@@ -37,20 +37,20 @@ typedef NS_ENUM(NSUInteger, CNImagePickerEnterType) { @@ -37,20 +37,20 @@ typedef NS_ENUM(NSUInteger, CNImagePickerEnterType) {
37 37
38 @param maxImagesCount 最大图片 38 @param maxImagesCount 最大图片
39 @param columnNumber 列个数 39 @param columnNumber 列个数
40 - @param delegate 代理(UIViewController<TZImagePickerControllerDelegate>) 40 + @param delegate 代理(UIViewController<CNTZImagePickerControllerDelegate>)
41 @param pushPhotoPickerVc 是否跳转到相册 41 @param pushPhotoPickerVc 是否跳转到相册
42 @param isSelectOriginalPhoto 是否原图 42 @param isSelectOriginalPhoto 是否原图
43 @param selectedAssets 选择图片 43 @param selectedAssets 选择图片
44 @param enterType 进入方式 44 @param enterType 进入方式
45 @param pickingPhotosHandle 选择结束回调 45 @param pickingPhotosHandle 选择结束回调
46 */ 46 */
47 -+ (void)ImagePickerWithMaxImagesCount:(NSInteger)maxImagesCount columnNumber:(NSInteger)columnNumber delegate:(id<TZImagePickerControllerDelegate>)delegate pushPhotoPickerVc:(BOOL)pushPhotoPickerVc isSelectOriginalPhoto:(BOOL)isSelectOriginalPhoto selectedAssets:(NSMutableArray *)selectedAssets enterType:(CNImagePickerEnterType )enterType pickingPhotosHandle:(didFinishPickingPhotosHandle) pickingPhotosHandle; 47 ++ (void)ImagePickerWithMaxImagesCount:(NSInteger)maxImagesCount columnNumber:(NSInteger)columnNumber delegate:(id<CNTZImagePickerControllerDelegate>)delegate pushPhotoPickerVc:(BOOL)pushPhotoPickerVc isSelectOriginalPhoto:(BOOL)isSelectOriginalPhoto selectedAssets:(NSMutableArray *)selectedAssets enterType:(CNImagePickerEnterType )enterType pickingPhotosHandle:(didFinishPickingPhotosHandle) pickingPhotosHandle;
48 48
49 /** 49 /**
50 预览图片 50 预览图片
51 51
52 @param maxImagesCount 最大限制 52 @param maxImagesCount 最大限制
53 - @param delegate 代理(UIViewController<TZImagePickerControllerDelegate>) 53 + @param delegate 代理(UIViewController<CNTZImagePickerControllerDelegate>)
54 @param selectedAssets 选中Assets 54 @param selectedAssets 选中Assets
55 @param selectedPhotos 选中Photos 55 @param selectedPhotos 选中Photos
56 @param index 选中第几个 56 @param index 选中第几个
@@ -58,29 +58,29 @@ typedef NS_ENUM(NSUInteger, CNImagePickerEnterType) { @@ -58,29 +58,29 @@ typedef NS_ENUM(NSUInteger, CNImagePickerEnterType) {
58 @param enterType 进入方式 58 @param enterType 进入方式
59 @param pickingPhotosHandle 回调参数 59 @param pickingPhotosHandle 回调参数
60 */ 60 */
61 -+ (void)ImagePickerWithMaxImagesCount:(NSInteger)maxImagesCount delegate:(id<TZImagePickerControllerDelegate>)delegate selectedAssets:(NSMutableArray *)selectedAssets selectedPhotos:(NSMutableArray *)selectedPhotos index:(NSInteger)index isSelectOriginalPhoto:(BOOL)isSelectOriginalPhoto enterType:(CNImagePickerEnterType )enterType pickingPhotosHandle:(didFinishPickingPhotosHandle) pickingPhotosHandle; 61 ++ (void)ImagePickerWithMaxImagesCount:(NSInteger)maxImagesCount delegate:(id<CNTZImagePickerControllerDelegate>)delegate selectedAssets:(NSMutableArray *)selectedAssets selectedPhotos:(NSMutableArray *)selectedPhotos index:(NSInteger)index isSelectOriginalPhoto:(BOOL)isSelectOriginalPhoto enterType:(CNImagePickerEnterType )enterType pickingPhotosHandle:(didFinishPickingPhotosHandle) pickingPhotosHandle;
62 62
63 63
64 /** 64 /**
65 预览单个视频 65 预览单个视频
66 66
67 @param selectedAsset 选择视频 67 @param selectedAsset 选择视频
68 - @param delegate 代理(UIViewController<TZImagePickerControllerDelegate>) 68 + @param delegate 代理(UIViewController<CNTZImagePickerControllerDelegate>)
69 */ 69 */
70 -+ (void)ImagePickerWithSelectedAsset:(id)selectedAsset delegate:(id<TZImagePickerControllerDelegate>)delegate; 70 ++ (void)ImagePickerWithSelectedAsset:(id)selectedAsset delegate:(id<CNTZImagePickerControllerDelegate>)delegate;
71 71
72 72
73 /** 73 /**
74 保存图片 74 保存图片
75 75
76 - @param delegate 代理(UIViewController<TZImagePickerControllerDelegate>) 76 + @param delegate 代理(UIViewController<CNTZImagePickerControllerDelegate>)
77 @param image 图片 77 @param image 图片
78 @param location 地点 78 @param location 地点
79 @param success 成功 79 @param success 成功
80 @param failure 失败 80 @param failure 失败
81 81
82 */ 82 */
83 -+(void)ImageManagerSavePhotoWithDelegate:(id<TZImagePickerControllerDelegate>)delegate image:(UIImage *)image location:(CLLocation *)location success:(void (^)(TZAssetModel *assetModel))success failure:(void (^)(NSError *error))failure; 83 ++(void)ImageManagerSavePhotoWithDelegate:(id<CNTZImagePickerControllerDelegate>)delegate image:(UIImage *)image location:(CLLocation *)location success:(void (^)(CNTZAssetModel *assetModel))success failure:(void (^)(NSError *error))failure;
84 84
85 85
86 /** 86 /**
@@ -89,7 +89,7 @@ typedef NS_ENUM(NSUInteger, CNImagePickerEnterType) { @@ -89,7 +89,7 @@ typedef NS_ENUM(NSUInteger, CNImagePickerEnterType) {
89 @param asset asset 89 @param asset asset
90 @return 返回类型 90 @return 返回类型
91 */ 91 */
92 -+ (TZAssetModelMediaType)getAssetType:(id)asset; 92 ++ (CNTZAssetModelMediaType)getAssetType:(id)asset;
93 93
94 94
95 @end 95 @end
CNLiveImagePickerController/Classes/CNImagePickerManager.m
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 @implementation CNImagePickerManager 14 @implementation CNImagePickerManager
15 15
16 /// 打开相册选择图片 16 /// 打开相册选择图片
17 -+ (void)ImagePickerWithMaxImagesCount:(NSInteger)maxImagesCount columnNumber:(NSInteger)columnNumber delegate:(id<TZImagePickerControllerDelegate>)delegate pushPhotoPickerVc:(BOOL)pushPhotoPickerVc isSelectOriginalPhoto:(BOOL)isSelectOriginalPhoto selectedAssets:(NSMutableArray *)selectedAssets enterType:(CNImagePickerEnterType )enterType pickingPhotosHandle:(didFinishPickingPhotosHandle) pickingPhotosHandle{ 17 ++ (void)ImagePickerWithMaxImagesCount:(NSInteger)maxImagesCount columnNumber:(NSInteger)columnNumber delegate:(id<CNTZImagePickerControllerDelegate>)delegate pushPhotoPickerVc:(BOOL)pushPhotoPickerVc isSelectOriginalPhoto:(BOOL)isSelectOriginalPhoto selectedAssets:(NSMutableArray *)selectedAssets enterType:(CNImagePickerEnterType )enterType pickingPhotosHandle:(didFinishPickingPhotosHandle) pickingPhotosHandle{
18 18
19 if (![delegate isKindOfClass:[UIViewController class]]) { 19 if (![delegate isKindOfClass:[UIViewController class]]) {
20 return; 20 return;
@@ -22,7 +22,7 @@ @@ -22,7 +22,7 @@
22 UIViewController *vc = (UIViewController *)delegate; 22 UIViewController *vc = (UIViewController *)delegate;
23 23
24 CNImagePickerController *imagePickerVc = [[CNImagePickerController alloc] initWithMaxImagesCount:maxImagesCount columnNumber:columnNumber delegate:delegate pushPhotoPickerVc:pushPhotoPickerVc]; 24 CNImagePickerController *imagePickerVc = [[CNImagePickerController alloc] initWithMaxImagesCount:maxImagesCount columnNumber:columnNumber delegate:delegate pushPhotoPickerVc:pushPhotoPickerVc];
25 - [imagePickerVc configTZImagePicker];//基本配置 25 + [imagePickerVc configCNTZImagePicker];//基本配置
26 //特殊配置 26 //特殊配置
27 switch (enterType) { 27 switch (enterType) {
28 28
@@ -31,6 +31,8 @@ @@ -31,6 +31,8 @@
31 imagePickerVc.maxVideoDuration = kFriendsCircle_limit_video_max_upload;//编辑视频最大长度 31 imagePickerVc.maxVideoDuration = kFriendsCircle_limit_video_max_upload;//编辑视频最大长度
32 // 3. 设置是否可以混选选择视频/图片/原图 32 // 3. 设置是否可以混选选择视频/图片/原图
33 imagePickerVc.allowPickingMultipleVideo = NO; 33 imagePickerVc.allowPickingMultipleVideo = NO;
  34 + //4.选择一张图片情况下不可选视频
  35 + imagePickerVc.allowPickingVideo = NO;
34 break; 36 break;
35 case CNImagePickerEnterTypeComment: 37 case CNImagePickerEnterTypeComment:
36 #pragma mark - TODO:根据不同设置 38 #pragma mark - TODO:根据不同设置
@@ -80,7 +82,7 @@ @@ -80,7 +82,7 @@
80 NSLog(@"输出infos = %@",infos); 82 NSLog(@"输出infos = %@",infos);
81 }]; 83 }];
82 84
83 - [imagePickerVc setDidNewFinishPickingPhotosHandle:^(NSArray<UIImage *> *photos, NSArray<TZAssetModel *> *models, NSArray *assets, BOOL isSelectOriginalPhoto) { 85 + [imagePickerVc setDidNewFinishPickingPhotosHandle:^(NSArray<UIImage *> *photos, NSArray<CNTZAssetModel *> *models, NSArray *assets, BOOL isSelectOriginalPhoto) {
84 NSLog(@"输出models = %@",models); 86 NSLog(@"输出models = %@",models);
85 }]; 87 }];
86 88
@@ -88,7 +90,7 @@ @@ -88,7 +90,7 @@
88 } 90 }
89 91
90 /// 预览图片 92 /// 预览图片
91 -+ (void)ImagePickerWithMaxImagesCount:(NSInteger)maxImagesCount delegate:(id<TZImagePickerControllerDelegate>)delegate selectedAssets:(NSMutableArray *)selectedAssets selectedPhotos:(NSMutableArray *)selectedPhotos index:(NSInteger)index isSelectOriginalPhoto:(BOOL)isSelectOriginalPhoto enterType:(CNImagePickerEnterType )enterType pickingPhotosHandle:(didFinishPickingPhotosHandle) pickingPhotosHandle { 93 ++ (void)ImagePickerWithMaxImagesCount:(NSInteger)maxImagesCount delegate:(id<CNTZImagePickerControllerDelegate>)delegate selectedAssets:(NSMutableArray *)selectedAssets selectedPhotos:(NSMutableArray *)selectedPhotos index:(NSInteger)index isSelectOriginalPhoto:(BOOL)isSelectOriginalPhoto enterType:(CNImagePickerEnterType )enterType pickingPhotosHandle:(didFinishPickingPhotosHandle) pickingPhotosHandle {
92 94
93 if (![delegate isKindOfClass:[UIViewController class]]) { 95 if (![delegate isKindOfClass:[UIViewController class]]) {
94 return; 96 return;
@@ -96,7 +98,7 @@ @@ -96,7 +98,7 @@
96 UIViewController *vc = (UIViewController *)delegate; 98 UIViewController *vc = (UIViewController *)delegate;
97 99
98 CNImagePickerController *imagePickerVc = [[CNImagePickerController alloc] initWithSelectedAssets:selectedAssets selectedPhotos:selectedPhotos index:index]; 100 CNImagePickerController *imagePickerVc = [[CNImagePickerController alloc] initWithSelectedAssets:selectedAssets selectedPhotos:selectedPhotos index:index];
99 - [imagePickerVc configTZImagePicker];//基本配置 101 + [imagePickerVc configCNTZImagePicker];//基本配置
100 imagePickerVc.modalPresentationStyle = UIModalPresentationFullScreen; 102 imagePickerVc.modalPresentationStyle = UIModalPresentationFullScreen;
101 //特殊配置 103 //特殊配置
102 switch (enterType) { 104 switch (enterType) {
@@ -136,15 +138,15 @@ @@ -136,15 +138,15 @@
136 } 138 }
137 139
138 /// 预览单个视频 140 /// 预览单个视频
139 -+ (void)ImagePickerWithSelectedAsset:(id)selectedAsset delegate:(id<TZImagePickerControllerDelegate>)delegate { 141 ++ (void)ImagePickerWithSelectedAsset:(id)selectedAsset delegate:(id<CNTZImagePickerControllerDelegate>)delegate {
140 142
141 if (![delegate isKindOfClass:[UIViewController class]]) { 143 if (![delegate isKindOfClass:[UIViewController class]]) {
142 return; 144 return;
143 } 145 }
144 UIViewController *vc = (UIViewController *)delegate; 146 UIViewController *vc = (UIViewController *)delegate;
145 147
146 - TZVideoPlayerController *videoVC = [[TZVideoPlayerController alloc] init];  
147 - TZAssetModel *model = [TZAssetModel modelWithAsset:selectedAsset type:TZAssetModelMediaTypeVideo timeLength:@""]; 148 + CNTZVideoPlayerController *videoVC = [[CNTZVideoPlayerController alloc] init];
  149 + CNTZAssetModel *model = [CNTZAssetModel modelWithAsset:selectedAsset type:CNTZAssetModelMediaTypeVideo timeLength:@""];
148 videoVC.isOther = YES;//(LXG)相册外进入 150 videoVC.isOther = YES;//(LXG)相册外进入
149 videoVC.model = model; 151 videoVC.model = model;
150 videoVC.modalPresentationStyle = UIModalPresentationFullScreen; 152 videoVC.modalPresentationStyle = UIModalPresentationFullScreen;
@@ -153,19 +155,19 @@ @@ -153,19 +155,19 @@
153 } 155 }
154 156
155 /// 返回类型 157 /// 返回类型
156 -+ (TZAssetModelMediaType)getAssetType:(id)asset { 158 ++ (CNTZAssetModelMediaType)getAssetType:(id)asset {
157 159
158 - TZAssetModelMediaType type = TZAssetModelMediaTypePhoto; 160 + CNTZAssetModelMediaType type = CNTZAssetModelMediaTypePhoto;
159 if ([asset isKindOfClass:[PHAsset class]]) { 161 if ([asset isKindOfClass:[PHAsset class]]) {
160 PHAsset *phAsset = (PHAsset *)asset; 162 PHAsset *phAsset = (PHAsset *)asset;
161 - if (phAsset.mediaType == PHAssetMediaTypeVideo) type = TZAssetModelMediaTypeVideo;  
162 - else if (phAsset.mediaType == PHAssetMediaTypeAudio) type = TZAssetModelMediaTypeAudio; 163 + if (phAsset.mediaType == PHAssetMediaTypeVideo) type = CNTZAssetModelMediaTypeVideo;
  164 + else if (phAsset.mediaType == PHAssetMediaTypeAudio) type = CNTZAssetModelMediaTypeAudio;
163 else if (phAsset.mediaType == PHAssetMediaTypeImage) { 165 else if (phAsset.mediaType == PHAssetMediaTypeImage) {
164 if (iOS9_1Later) { 166 if (iOS9_1Later) {
165 if (@available(iOS 9.1, *)) { 167 if (@available(iOS 9.1, *)) {
166 if (phAsset.mediaSubtypes == PHAssetMediaSubtypePhotoLive) 168 if (phAsset.mediaSubtypes == PHAssetMediaSubtypePhotoLive)
167 { 169 {
168 - type = TZAssetModelMediaTypeLivePhoto; 170 + type = CNTZAssetModelMediaTypeLivePhoto;
169 } 171 }
170 } else { 172 } else {
171 // Fallback on earlier versions 173 // Fallback on earlier versions
@@ -173,38 +175,38 @@ @@ -173,38 +175,38 @@
173 } 175 }
174 // Gif 176 // Gif
175 if ([[phAsset valueForKey:@"filename"] hasSuffix:@"GIF"]) { 177 if ([[phAsset valueForKey:@"filename"] hasSuffix:@"GIF"]) {
176 - type = TZAssetModelMediaTypePhotoGif; 178 + type = CNTZAssetModelMediaTypePhotoGif;
177 } 179 }
178 } 180 }
179 } else { 181 } else {
180 if ([[asset valueForProperty:ALAssetPropertyType] isEqualToString:ALAssetTypeVideo]) { 182 if ([[asset valueForProperty:ALAssetPropertyType] isEqualToString:ALAssetTypeVideo]) {
181 - type = TZAssetModelMediaTypeVideo; 183 + type = CNTZAssetModelMediaTypeVideo;
182 } 184 }
183 } 185 }
184 return type; 186 return type;
185 } 187 }
186 188
187 189
188 -+(void)ImageManagerSavePhotoWithDelegate:(id<TZImagePickerControllerDelegate>)delegate image:(UIImage *)image location:(CLLocation *)location success:(void (^)(TZAssetModel *assetModel))success failure:(void (^)(NSError *error))failure { 190 ++(void)ImageManagerSavePhotoWithDelegate:(id<CNTZImagePickerControllerDelegate>)delegate image:(UIImage *)image location:(CLLocation *)location success:(void (^)(CNTZAssetModel *assetModel))success failure:(void (^)(NSError *error))failure {
189 191
190 - TZImagePickerController *tzImagePickerVc = [[TZImagePickerController alloc] initWithMaxImagesCount:1 delegate:delegate];  
191 - tzImagePickerVc.sortAscendingByModificationDate = YES; 192 + CNTZImagePickerController *CNTZImagePickerVc = [[CNTZImagePickerController alloc] initWithMaxImagesCount:1 delegate:delegate];
  193 + CNTZImagePickerVc.sortAscendingByModificationDate = YES;
192 194
193 - [tzImagePickerVc showProgressHUD]; 195 + [CNTZImagePickerVc showProgressHUD];
194 // save photo and get asset / 保存图片,获取到asset 196 // save photo and get asset / 保存图片,获取到asset
195 - [[TZImageManager manager] savePhotoWithImage:image location:location completion:^(NSError *error){ 197 + [[CNTZImageManager manager] savePhotoWithImage:image location:location completion:^(NSError *error){
196 198
197 if (error) { 199 if (error) {
198 - [tzImagePickerVc hideProgressHUD]; 200 + [CNTZImagePickerVc hideProgressHUD];
199 failure(error); 201 failure(error);
200 NSLog(@"图片保存失败 %@",error); 202 NSLog(@"图片保存失败 %@",error);
201 } else { 203 } else {
202 204
203 - [[TZImageManager manager] getCameraRollAlbum:NO allowPickingImage:YES needFetchAssets:YES completion:^(TZAlbumModel *model) {  
204 - [[TZImageManager manager] getAssetsFromFetchResult:model.result allowPickingVideo:NO allowPickingImage:YES completion:^(NSArray<TZAssetModel *> *models) {  
205 - [tzImagePickerVc hideProgressHUD];  
206 - TZAssetModel *assetModel = [models firstObject];  
207 - if (tzImagePickerVc.sortAscendingByModificationDate) { 205 + [[CNTZImageManager manager] getCameraRollAlbum:NO allowPickingImage:YES needFetchAssets:YES completion:^(CNTZAlbumModel *model) {
  206 + [[CNTZImageManager manager] getAssetsFromFetchResult:model.result allowPickingVideo:NO allowPickingImage:YES completion:^(NSArray<CNTZAssetModel *> *models) {
  207 + [CNTZImagePickerVc hideProgressHUD];
  208 + CNTZAssetModel *assetModel = [models firstObject];
  209 + if (CNTZImagePickerVc.sortAscendingByModificationDate) {
208 assetModel = [models lastObject]; 210 assetModel = [models lastObject];
209 } 211 }
210 success(assetModel); 212 success(assetModel);
CNLiveImagePickerController/Classes/TZAssetCell.h renamed to CNLiveImagePickerController/Classes/CNTZAssetCell.h
1 // 1 //
2 -// TZAssetCell.h  
3 -// TZImagePickerController 2 +// CNTZAssetCell.h
  3 +// CNTZImagePickerController
4 // 4 //
5 // Created by 谭真 on 15/12/24. 5 // Created by 谭真 on 15/12/24.
6 // Copyright © 2015年 谭真. All rights reserved. 6 // Copyright © 2015年 谭真. All rights reserved.
@@ -10,21 +10,21 @@ @@ -10,21 +10,21 @@
10 #import <Photos/Photos.h> 10 #import <Photos/Photos.h>
11 11
12 typedef enum : NSUInteger { 12 typedef enum : NSUInteger {
13 - TZAssetCellTypePhoto = 0,  
14 - TZAssetCellTypeLivePhoto,  
15 - TZAssetCellTypePhotoGif,  
16 - TZAssetCellTypeVideo,  
17 - TZAssetCellTypeAudio,  
18 -} TZAssetCellType;  
19 -  
20 -@class TZAssetModel;  
21 -@interface TZAssetCell : UICollectionViewCell 13 + CNTZAssetCellTypePhoto = 0,
  14 + CNTZAssetCellTypeLivePhoto,
  15 + CNTZAssetCellTypePhotoGif,
  16 + CNTZAssetCellTypeVideo,
  17 + CNTZAssetCellTypeAudio,
  18 +} CNTZAssetCellType;
  19 +
  20 +@class CNTZAssetModel;
  21 +@interface CNTZAssetCell : UICollectionViewCell
22 @property (weak, nonatomic) UIButton *selectPhotoButton; 22 @property (weak, nonatomic) UIButton *selectPhotoButton;
23 @property (weak, nonatomic) UIButton *cannotSelectLayerButton; 23 @property (weak, nonatomic) UIButton *cannotSelectLayerButton;
24 -@property (nonatomic, strong) TZAssetModel *model; 24 +@property (nonatomic, strong) CNTZAssetModel *model;
25 @property (assign, nonatomic) NSInteger index; 25 @property (assign, nonatomic) NSInteger index;
26 @property (nonatomic, copy) void (^didSelectPhotoBlock)(BOOL); 26 @property (nonatomic, copy) void (^didSelectPhotoBlock)(BOOL);
27 -@property (nonatomic, assign) TZAssetCellType type; 27 +@property (nonatomic, assign) CNTZAssetCellType type;
28 @property (nonatomic, assign) BOOL allowPickingGif; 28 @property (nonatomic, assign) BOOL allowPickingGif;
29 @property (nonatomic, assign) BOOL allowPickingMultipleVideo; 29 @property (nonatomic, assign) BOOL allowPickingMultipleVideo;
30 @property (nonatomic, copy) NSString *representedAssetIdentifier; 30 @property (nonatomic, copy) NSString *representedAssetIdentifier;
@@ -37,21 +37,21 @@ typedef enum : NSUInteger { @@ -37,21 +37,21 @@ typedef enum : NSUInteger {
37 @property (assign, nonatomic) BOOL allowPreview; 37 @property (assign, nonatomic) BOOL allowPreview;
38 @property (assign, nonatomic) BOOL useCachedImage; 38 @property (assign, nonatomic) BOOL useCachedImage;
39 39
40 -@property (nonatomic, copy) void (^assetCellDidSetModelBlock)(TZAssetCell *cell, UIImageView *imageView, UIImageView *selectImageView, UILabel *indexLabel, UIView *bottomView, UILabel *timeLength, UIImageView *videoImgView);  
41 -@property (nonatomic, copy) void (^assetCellDidLayoutSubviewsBlock)(TZAssetCell *cell, UIImageView *imageView, UIImageView *selectImageView, UILabel *indexLabel, UIView *bottomView, UILabel *timeLength, UIImageView *videoImgView); 40 +@property (nonatomic, copy) void (^assetCellDidSetModelBlock)(CNTZAssetCell *cell, UIImageView *imageView, UIImageView *selectImageView, UILabel *indexLabel, UIView *bottomView, UILabel *timeLength, UIImageView *videoImgView);
  41 +@property (nonatomic, copy) void (^assetCellDidLayoutSubviewsBlock)(CNTZAssetCell *cell, UIImageView *imageView, UIImageView *selectImageView, UILabel *indexLabel, UIView *bottomView, UILabel *timeLength, UIImageView *videoImgView);
42 @end 42 @end
43 43
44 44
45 -@class TZAlbumModel;  
46 -@interface TZAlbumCell : UITableViewCell  
47 -@property (nonatomic, strong) TZAlbumModel *model; 45 +@class CNTZAlbumModel;
  46 +@interface CNTZAlbumCell : UITableViewCell
  47 +@property (nonatomic, strong) CNTZAlbumModel *model;
48 @property (weak, nonatomic) UIButton *selectedCountButton; 48 @property (weak, nonatomic) UIButton *selectedCountButton;
49 49
50 -@property (nonatomic, copy) void (^albumCellDidSetModelBlock)(TZAlbumCell *cell, UIImageView *posterImageView, UILabel *titleLabel);  
51 -@property (nonatomic, copy) void (^albumCellDidLayoutSubviewsBlock)(TZAlbumCell *cell, UIImageView *posterImageView, UILabel *titleLabel); 50 +@property (nonatomic, copy) void (^albumCellDidSetModelBlock)(CNTZAlbumCell *cell, UIImageView *posterImageView, UILabel *titleLabel);
  51 +@property (nonatomic, copy) void (^albumCellDidLayoutSubviewsBlock)(CNTZAlbumCell *cell, UIImageView *posterImageView, UILabel *titleLabel);
52 @end 52 @end
53 53
54 54
55 -@interface TZAssetCameraCell : UICollectionViewCell 55 +@interface CNTZAssetCameraCell : UICollectionViewCell
56 @property (nonatomic, strong) UIImageView *imageView; 56 @property (nonatomic, strong) UIImageView *imageView;
57 @end 57 @end
CNLiveImagePickerController/Classes/TZAssetCell.m renamed to CNLiveImagePickerController/Classes/CNTZAssetCell.m
1 // 1 //
2 -// TZAssetCell.m  
3 -// TZImagePickerController 2 +// CNTZAssetCell.m
  3 +// CNTZImagePickerController
4 // 4 //
5 // Created by 谭真 on 15/12/24. 5 // Created by 谭真 on 15/12/24.
6 // Copyright © 2015年 谭真. All rights reserved. 6 // Copyright © 2015年 谭真. All rights reserved.
7 // 7 //
8 8
9 -#import "TZAssetCell.h"  
10 -#import "TZAssetModel.h"  
11 -#import "UIView+TZLayout.h"  
12 -#import "TZImageManager.h"  
13 -#import "TZImagePickerController.h"  
14 -#import "TZProgressView.h" 9 +#import "CNTZAssetCell.h"
  10 +#import "CNTZAssetModel.h"
  11 +#import "UIView+CNTZLayout.h"
  12 +#import "CNTZImageManager.h"
  13 +#import "CNTZImagePickerController.h"
  14 +#import "CNTZProgressView.h"
15 15
16 -@interface TZAssetCell () 16 +@interface CNTZAssetCell ()
17 @property (weak, nonatomic) UIImageView *imageView; // The photo / 照片 17 @property (weak, nonatomic) UIImageView *imageView; // The photo / 照片
18 @property (weak, nonatomic) UIImageView *selectImageView; 18 @property (weak, nonatomic) UIImageView *selectImageView;
19 @property (weak, nonatomic) UILabel *indexLabel; 19 @property (weak, nonatomic) UILabel *indexLabel;
@@ -22,23 +22,23 @@ @@ -22,23 +22,23 @@
22 @property (strong, nonatomic) UITapGestureRecognizer *tapGesture; 22 @property (strong, nonatomic) UITapGestureRecognizer *tapGesture;
23 23
24 @property (nonatomic, weak) UIImageView *videoImgView; 24 @property (nonatomic, weak) UIImageView *videoImgView;
25 -@property (nonatomic, strong) TZProgressView *progressView; 25 +@property (nonatomic, strong) CNTZProgressView *progressView;
26 @property (nonatomic, assign) int32_t bigImageRequestID; 26 @property (nonatomic, assign) int32_t bigImageRequestID;
27 @end 27 @end
28 28
29 -@implementation TZAssetCell 29 +@implementation CNTZAssetCell
30 30
31 -- (void)setModel:(TZAssetModel *)model { 31 +- (void)setModel:(CNTZAssetModel *)model {
32 _model = model; 32 _model = model;
33 if (iOS8Later) { 33 if (iOS8Later) {
34 - self.representedAssetIdentifier = [[TZImageManager manager] getAssetIdentifier:model.asset]; 34 + self.representedAssetIdentifier = [[CNTZImageManager manager] getAssetIdentifier:model.asset];
35 } 35 }
36 if (self.useCachedImage && model.cachedImage) { 36 if (self.useCachedImage && model.cachedImage) {
37 self.imageView.image = model.cachedImage; 37 self.imageView.image = model.cachedImage;
38 } else { 38 } else {
39 self.model.cachedImage = nil; 39 self.model.cachedImage = nil;
40 __weak typeof(self) weakSelf = self; 40 __weak typeof(self) weakSelf = self;
41 - int32_t imageRequestID = [[TZImageManager manager] getPhotoWithAsset:model.asset photoWidth:self.tz_width completion:^(UIImage *photo, NSDictionary *info, BOOL isDegraded) { 41 + int32_t imageRequestID = [[CNTZImageManager manager] getPhotoWithAsset:model.asset photoWidth:self.CNTZ_width completion:^(UIImage *photo, NSDictionary *info, BOOL isDegraded) {
42 // NSLog(@"输出导出参数info = %@",info); 42 // NSLog(@"输出导出参数info = %@",info);
43 if (photo) {//lxg: 裂图 43 if (photo) {//lxg: 裂图
44 model.isExport = YES; 44 model.isExport = YES;
@@ -53,7 +53,7 @@ @@ -53,7 +53,7 @@
53 [weakSelf hideProgressView]; 53 [weakSelf hideProgressView];
54 return; 54 return;
55 } 55 }
56 - if ([weakSelf.representedAssetIdentifier isEqualToString:[[TZImageManager manager] getAssetIdentifier:model.asset]]) { 56 + if ([weakSelf.representedAssetIdentifier isEqualToString:[[CNTZImageManager manager] getAssetIdentifier:model.asset]]) {
57 weakSelf.imageView.image = photo; 57 weakSelf.imageView.image = photo;
58 weakSelf.model.cachedImage = photo; 58 weakSelf.model.cachedImage = photo;
59 } else { 59 } else {
@@ -74,13 +74,13 @@ @@ -74,13 +74,13 @@
74 } 74 }
75 75
76 /** 处理视频 */ 76 /** 处理视频 */
77 - if (model.type == TZAssetModelMediaTypeVideo) { 77 + if (model.type == CNTZAssetModelMediaTypeVideo) {
78 78
79 if (model.isCheckICloudType) {//是否检测来源 79 if (model.isCheckICloudType) {//是否检测来源
80 NSLog(@"输出检测过来源"); 80 NSLog(@"输出检测过来源");
81 }else { 81 }else {
82 82
83 - [[TZImageManager manager] getVideoWithAsset:self.model.asset completion:^(AVPlayerItem *playerItem, NSDictionary *info) { 83 + [[CNTZImageManager manager] getVideoWithAsset:self.model.asset completion:^(AVPlayerItem *playerItem, NSDictionary *info) {
84 NSLog(@"输出识别后结果 = %@",info); 84 NSLog(@"输出识别后结果 = %@",info);
85 NSLog(@"Info:%@",info); 85 NSLog(@"Info:%@",info);
86 model.isCheckICloudType = YES; 86 model.isCheckICloudType = YES;
@@ -151,7 +151,7 @@ @@ -151,7 +151,7 @@
151 151
152 self.type = (NSInteger)model.type; 152 self.type = (NSInteger)model.type;
153 // 让宽度/高度小于 最小可选照片尺寸 的图片不能选中 153 // 让宽度/高度小于 最小可选照片尺寸 的图片不能选中
154 - if (![[TZImageManager manager] isPhotoSelectableWithAsset:model.asset]) { 154 + if (![[CNTZImageManager manager] isPhotoSelectableWithAsset:model.asset]) {
155 if (_selectImageView.hidden == NO) { 155 if (_selectImageView.hidden == NO) {
156 self.selectPhotoButton.hidden = YES; 156 self.selectPhotoButton.hidden = YES;
157 _selectImageView.hidden = YES; 157 _selectImageView.hidden = YES;
@@ -164,7 +164,7 @@ @@ -164,7 +164,7 @@
164 [self cancelBigImageRequest]; 164 [self cancelBigImageRequest];
165 } 165 }
166 if (model.needOscillatoryAnimation) { 166 if (model.needOscillatoryAnimation) {
167 - [UIView showOscillatoryAnimationWithLayer:self.selectImageView.layer type:TZOscillatoryAnimationToBigger]; 167 + [UIView showOscillatoryAnimationWithLayer:self.selectImageView.layer type:CNTZOscillatoryAnimationToBigger];
168 } 168 }
169 model.needOscillatoryAnimation = NO; 169 model.needOscillatoryAnimation = NO;
170 170
@@ -189,7 +189,7 @@ @@ -189,7 +189,7 @@
189 189
190 - (void)setShowSelectBtn:(BOOL)showSelectBtn { 190 - (void)setShowSelectBtn:(BOOL)showSelectBtn {
191 _showSelectBtn = showSelectBtn; 191 _showSelectBtn = showSelectBtn;
192 - BOOL selectable = [[TZImageManager manager] isPhotoSelectableWithAsset:self.model.asset]; 192 + BOOL selectable = [[CNTZImageManager manager] isPhotoSelectableWithAsset:self.model.asset];
193 if (!self.selectPhotoButton.hidden) { 193 if (!self.selectPhotoButton.hidden) {
194 self.selectPhotoButton.hidden = !showSelectBtn || !selectable; 194 self.selectPhotoButton.hidden = !showSelectBtn || !selectable;
195 } 195 }
@@ -198,9 +198,9 @@ @@ -198,9 +198,9 @@
198 } 198 }
199 } 199 }
200 200
201 -- (void)setType:(TZAssetCellType)type { 201 +- (void)setType:(CNTZAssetCellType)type {
202 _type = type; 202 _type = type;
203 - if (type == TZAssetCellTypePhoto || type == TZAssetCellTypeLivePhoto || (type == TZAssetCellTypePhotoGif && !self.allowPickingGif) || self.allowPickingMultipleVideo) { 203 + if (type == CNTZAssetCellTypePhoto || type == CNTZAssetCellTypeLivePhoto || (type == CNTZAssetCellTypePhotoGif && !self.allowPickingGif) || self.allowPickingMultipleVideo) {
204 _selectImageView.hidden = NO; 204 _selectImageView.hidden = NO;
205 _selectPhotoButton.hidden = NO; 205 _selectPhotoButton.hidden = NO;
206 _bottomView.hidden = YES; 206 _bottomView.hidden = YES;
@@ -209,17 +209,17 @@ @@ -209,17 +209,17 @@
209 _selectPhotoButton.hidden = YES; 209 _selectPhotoButton.hidden = YES;
210 } 210 }
211 211
212 - if (type == TZAssetCellTypeVideo) { 212 + if (type == CNTZAssetCellTypeVideo) {
213 self.bottomView.hidden = NO; 213 self.bottomView.hidden = NO;
214 self.timeLength.text = _model.timeLength; 214 self.timeLength.text = _model.timeLength;
215 self.videoImgView.hidden = NO; 215 self.videoImgView.hidden = NO;
216 - _timeLength.tz_left = self.videoImgView.tz_right; 216 + _timeLength.CNTZ_left = self.videoImgView.CNTZ_right;
217 _timeLength.textAlignment = NSTextAlignmentRight; 217 _timeLength.textAlignment = NSTextAlignmentRight;
218 - } else if (type == TZAssetCellTypePhotoGif && self.allowPickingGif) { 218 + } else if (type == CNTZAssetCellTypePhotoGif && self.allowPickingGif) {
219 self.bottomView.hidden = NO; 219 self.bottomView.hidden = NO;
220 self.timeLength.text = @"GIF"; 220 self.timeLength.text = @"GIF";
221 self.videoImgView.hidden = YES; 221 self.videoImgView.hidden = YES;
222 - _timeLength.tz_left = 5; 222 + _timeLength.CNTZ_left = 5;
223 _timeLength.textAlignment = NSTextAlignmentLeft; 223 _timeLength.textAlignment = NSTextAlignmentLeft;
224 } 224 }
225 } 225 }
@@ -241,8 +241,8 @@ @@ -241,8 +241,8 @@
241 } 241 }
242 self.selectImageView.image = sender.isSelected ? self.photoSelImage : self.photoDefImage; 242 self.selectImageView.image = sender.isSelected ? self.photoSelImage : self.photoDefImage;
243 if (sender.isSelected) { 243 if (sender.isSelected) {
244 - if (![TZImagePickerConfig sharedInstance].showSelectedIndex && ![TZImagePickerConfig sharedInstance].showPhotoCannotSelectLayer) {  
245 - [UIView showOscillatoryAnimationWithLayer:_selectImageView.layer type:TZOscillatoryAnimationToBigger]; 244 + if (![CNTZImagePickerConfig sharedInstance].showSelectedIndex && ![CNTZImagePickerConfig sharedInstance].showPhotoCannotSelectLayer) {
  245 + [UIView showOscillatoryAnimationWithLayer:_selectImageView.layer type:CNTZOscillatoryAnimationToBigger];
246 } 246 }
247 // 用户选中了该图片,提前获取一下大图 247 // 用户选中了该图片,提前获取一下大图
248 [self requestBigImage]; 248 [self requestBigImage];
@@ -271,7 +271,7 @@ @@ -271,7 +271,7 @@
271 } 271 }
272 272
273 __weak typeof(self) weakSelf = self; 273 __weak typeof(self) weakSelf = self;
274 - _bigImageRequestID = [[TZImageManager manager] requestImageDataForAsset:_model.asset completion:^(NSData *imageData, NSString *dataUTI, UIImageOrientation orientation, NSDictionary *info) { 274 + _bigImageRequestID = [[CNTZImageManager manager] requestImageDataForAsset:_model.asset completion:^(NSData *imageData, NSString *dataUTI, UIImageOrientation orientation, NSDictionary *info) {
275 [weakSelf hideProgressView]; 275 [weakSelf hideProgressView];
276 } progressHandler:^(double progress, NSError *error, BOOL *stop, NSDictionary *info) { 276 } progressHandler:^(double progress, NSError *error, BOOL *stop, NSDictionary *info) {
277 if (weakSelf.model.isSelected) { 277 if (weakSelf.model.isSelected) {
@@ -388,9 +388,9 @@ @@ -388,9 +388,9 @@
388 return _indexLabel; 388 return _indexLabel;
389 } 389 }
390 390
391 -- (TZProgressView *)progressView { 391 +- (CNTZProgressView *)progressView {
392 if (_progressView == nil) { 392 if (_progressView == nil) {
393 - _progressView = [[TZProgressView alloc] init]; 393 + _progressView = [[CNTZProgressView alloc] init];
394 _progressView.hidden = YES; 394 _progressView.hidden = YES;
395 [self addSubview:_progressView]; 395 [self addSubview:_progressView];
396 } 396 }
@@ -401,26 +401,26 @@ @@ -401,26 +401,26 @@
401 [super layoutSubviews]; 401 [super layoutSubviews];
402 _cannotSelectLayerButton.frame = self.bounds; 402 _cannotSelectLayerButton.frame = self.bounds;
403 if (self.allowPreview) { 403 if (self.allowPreview) {
404 - _selectPhotoButton.frame = CGRectMake(self.tz_width - 44, 0, 44, 44); 404 + _selectPhotoButton.frame = CGRectMake(self.CNTZ_width - 44, 0, 44, 44);
405 } else { 405 } else {
406 _selectPhotoButton.frame = self.bounds; 406 _selectPhotoButton.frame = self.bounds;
407 } 407 }
408 - _selectImageView.frame = CGRectMake(self.tz_width - 27, 3, 24, 24); 408 + _selectImageView.frame = CGRectMake(self.CNTZ_width - 27, 3, 24, 24);
409 if (_selectImageView.image.size.width <= 27) { 409 if (_selectImageView.image.size.width <= 27) {
410 _selectImageView.contentMode = UIViewContentModeCenter; 410 _selectImageView.contentMode = UIViewContentModeCenter;
411 } else { 411 } else {
412 _selectImageView.contentMode = UIViewContentModeScaleAspectFit; 412 _selectImageView.contentMode = UIViewContentModeScaleAspectFit;
413 } 413 }
414 _indexLabel.frame = _selectImageView.frame; 414 _indexLabel.frame = _selectImageView.frame;
415 - _imageView.frame = CGRectMake(0, 0, self.tz_width, self.tz_height); 415 + _imageView.frame = CGRectMake(0, 0, self.CNTZ_width, self.CNTZ_height);
416 416
417 static CGFloat progressWH = 20; 417 static CGFloat progressWH = 20;
418 - CGFloat progressXY = (self.tz_width - progressWH) / 2; 418 + CGFloat progressXY = (self.CNTZ_width - progressWH) / 2;
419 _progressView.frame = CGRectMake(progressXY, progressXY, progressWH, progressWH); 419 _progressView.frame = CGRectMake(progressXY, progressXY, progressWH, progressWH);
420 420
421 - _bottomView.frame = CGRectMake(0, self.tz_height - 17, self.tz_width, 17); 421 + _bottomView.frame = CGRectMake(0, self.CNTZ_height - 17, self.CNTZ_width, 17);
422 _videoImgView.frame = CGRectMake(8, 0, 17, 17); 422 _videoImgView.frame = CGRectMake(8, 0, 17, 17);
423 - _timeLength.frame = CGRectMake(self.videoImgView.tz_right, 0, self.tz_width - self.videoImgView.tz_right - 5, 17); 423 + _timeLength.frame = CGRectMake(self.videoImgView.CNTZ_right, 0, self.CNTZ_width - self.videoImgView.CNTZ_right - 5, 17);
424 424
425 self.type = (NSInteger)self.model.type; 425 self.type = (NSInteger)self.model.type;
426 self.showSelectBtn = self.showSelectBtn; 426 self.showSelectBtn = self.showSelectBtn;
@@ -438,13 +438,13 @@ @@ -438,13 +438,13 @@
438 438
439 @end 439 @end
440 440
441 -@interface TZAlbumCell () 441 +@interface CNTZAlbumCell ()
442 @property (weak, nonatomic) UIImageView *posterImageView; 442 @property (weak, nonatomic) UIImageView *posterImageView;
443 @property (weak, nonatomic) UILabel *titleLabel; 443 @property (weak, nonatomic) UILabel *titleLabel;
444 @property (weak, nonatomic) UIImageView *enterImageView; 444 @property (weak, nonatomic) UIImageView *enterImageView;
445 @end 445 @end
446 446
447 -@implementation TZAlbumCell 447 +@implementation CNTZAlbumCell
448 448
449 - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { 449 - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
450 self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; 450 self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
@@ -452,7 +452,7 @@ @@ -452,7 +452,7 @@
452 return self; 452 return self;
453 } 453 }
454 454
455 -- (void)setModel:(TZAlbumModel *)model { 455 +- (void)setModel:(CNTZAlbumModel *)model {
456 _model = model; 456 _model = model;
457 457
458 NSMutableAttributedString *nameString = [[NSMutableAttributedString alloc] initWithString:model.name attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:16],NSForegroundColorAttributeName:[UIColor blackColor]}]; 458 NSMutableAttributedString *nameString = [[NSMutableAttributedString alloc] initWithString:model.name attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:16],NSForegroundColorAttributeName:[UIColor blackColor]}];
@@ -460,7 +460,7 @@ @@ -460,7 +460,7 @@
460 [nameString appendAttributedString:countString]; 460 [nameString appendAttributedString:countString];
461 self.titleLabel.attributedText = nameString; 461 self.titleLabel.attributedText = nameString;
462 __weak typeof(self) weakSelf = self; 462 __weak typeof(self) weakSelf = self;
463 - [[TZImageManager manager] getPostImageWithAlbumModel:model completion:^(UIImage *postImage) { 463 + [[CNTZImageManager manager] getPostImageWithAlbumModel:model completion:^(UIImage *postImage) {
464 weakSelf.posterImageView.image = postImage; 464 weakSelf.posterImageView.image = postImage;
465 }]; 465 }];
466 if (model.selectedCount) { 466 if (model.selectedCount) {
@@ -482,10 +482,10 @@ @@ -482,10 +482,10 @@
482 /// For fitting iOS6 482 /// For fitting iOS6
483 - (void)layoutSubviews { 483 - (void)layoutSubviews {
484 if (iOS7Later) [super layoutSubviews]; 484 if (iOS7Later) [super layoutSubviews];
485 - _selectedCountButton.frame = CGRectMake(self.tz_width - 24 - 30, 23, 24, 24);  
486 - self.enterImageView.frame = CGRectMake(self.tz_width - 20, 30, 6, 12); 485 + _selectedCountButton.frame = CGRectMake(self.CNTZ_width - 24 - 30, 23, 24, 24);
  486 + self.enterImageView.frame = CGRectMake(self.CNTZ_width - 20, 30, 6, 12);
487 NSInteger titleHeight = ceil(self.titleLabel.font.lineHeight); 487 NSInteger titleHeight = ceil(self.titleLabel.font.lineHeight);
488 - self.titleLabel.frame = CGRectMake(80, (self.tz_height - titleHeight) / 2, self.tz_width - 80 - 50, titleHeight); 488 + self.titleLabel.frame = CGRectMake(80, (self.CNTZ_height - titleHeight) / 2, self.CNTZ_width - 80 - 50, titleHeight);
489 self.posterImageView.frame = CGRectMake(0, 0, 70, 70); 489 self.posterImageView.frame = CGRectMake(0, 0, 70, 70);
490 490
491 if (self.albumCellDidLayoutSubviewsBlock) { 491 if (self.albumCellDidLayoutSubviewsBlock) {
@@ -550,7 +550,7 @@ @@ -550,7 +550,7 @@
550 550
551 551
552 552
553 -@implementation TZAssetCameraCell 553 +@implementation CNTZAssetCameraCell
554 554
555 - (instancetype)initWithFrame:(CGRect)frame { 555 - (instancetype)initWithFrame:(CGRect)frame {
556 self = [super initWithFrame:frame]; 556 self = [super initWithFrame:frame];
CNLiveImagePickerController/Classes/TZAssetModel.h renamed to CNLiveImagePickerController/Classes/CNTZAssetModel.h
1 // 1 //
2 -// TZAssetModel.h  
3 -// TZImagePickerController 2 +// CNTZAssetModel.h
  3 +// CNTZImagePickerController
4 // 4 //
5 // Created by 谭真 on 15/12/24. 5 // Created by 谭真 on 15/12/24.
6 // Copyright © 2015年 谭真. All rights reserved. 6 // Copyright © 2015年 谭真. All rights reserved.
@@ -10,19 +10,19 @@ @@ -10,19 +10,19 @@
10 #import <UIKit/UIKit.h> 10 #import <UIKit/UIKit.h>
11 11
12 typedef enum : NSUInteger { 12 typedef enum : NSUInteger {
13 - TZAssetModelMediaTypePhoto = 0,  
14 - TZAssetModelMediaTypeLivePhoto,  
15 - TZAssetModelMediaTypePhotoGif,  
16 - TZAssetModelMediaTypeVideo,  
17 - TZAssetModelMediaTypeAudio  
18 -} TZAssetModelMediaType; 13 + CNTZAssetModelMediaTypePhoto = 0,
  14 + CNTZAssetModelMediaTypeLivePhoto,
  15 + CNTZAssetModelMediaTypePhotoGif,
  16 + CNTZAssetModelMediaTypeVideo,
  17 + CNTZAssetModelMediaTypeAudio
  18 +} CNTZAssetModelMediaType;
19 19
20 @class PHAsset; 20 @class PHAsset;
21 -@interface TZAssetModel : NSObject 21 +@interface CNTZAssetModel : NSObject
22 22
23 @property (nonatomic, strong) id asset; ///< PHAsset or ALAsset 23 @property (nonatomic, strong) id asset; ///< PHAsset or ALAsset
24 @property (nonatomic, assign) BOOL isSelected; ///< The select status of a photo, default is No 24 @property (nonatomic, assign) BOOL isSelected; ///< The select status of a photo, default is No
25 -@property (nonatomic, assign) TZAssetModelMediaType type; // 类型 25 +@property (nonatomic, assign) CNTZAssetModelMediaType type; // 类型
26 @property (assign, nonatomic) BOOL needOscillatoryAnimation; 26 @property (assign, nonatomic) BOOL needOscillatoryAnimation;
27 @property (nonatomic, copy) NSString *timeLength; 27 @property (nonatomic, copy) NSString *timeLength;
28 @property (strong, nonatomic) UIImage *cachedImage; 28 @property (strong, nonatomic) UIImage *cachedImage;
@@ -35,14 +35,14 @@ typedef enum : NSUInteger { @@ -35,14 +35,14 @@ typedef enum : NSUInteger {
35 35
36 /// Init a photo dataModel With a asset 36 /// Init a photo dataModel With a asset
37 /// 用一个PHAsset/ALAsset实例,初始化一个照片模型 37 /// 用一个PHAsset/ALAsset实例,初始化一个照片模型
38 -+ (instancetype)modelWithAsset:(id)asset type:(TZAssetModelMediaType)type;  
39 -+ (instancetype)modelWithAsset:(id)asset type:(TZAssetModelMediaType)type timeLength:(NSString *)timeLength; 38 ++ (instancetype)modelWithAsset:(id)asset type:(CNTZAssetModelMediaType)type;
  39 ++ (instancetype)modelWithAsset:(id)asset type:(CNTZAssetModelMediaType)type timeLength:(NSString *)timeLength;
40 40
41 @end 41 @end
42 42
43 43
44 @class PHFetchResult; 44 @class PHFetchResult;
45 -@interface TZAlbumModel : NSObject 45 +@interface CNTZAlbumModel : NSObject
46 46
47 @property (nonatomic, strong) NSString *name; ///< The album name 47 @property (nonatomic, strong) NSString *name; ///< The album name
48 @property (nonatomic, assign) NSInteger count; ///< Count of photos the album contain 48 @property (nonatomic, assign) NSInteger count; ///< Count of photos the album contain
CNLiveImagePickerController/Classes/TZAssetModel.m renamed to CNLiveImagePickerController/Classes/CNTZAssetModel.m
1 // 1 //
2 -// TZAssetModel.m  
3 -// TZImagePickerController 2 +// CNTZAssetModel.m
  3 +// CNTZImagePickerController
4 // 4 //
5 // Created by 谭真 on 15/12/24. 5 // Created by 谭真 on 15/12/24.
6 // Copyright © 2015年 谭真. All rights reserved. 6 // Copyright © 2015年 谭真. All rights reserved.
7 // 7 //
8 8
9 -#import "TZAssetModel.h"  
10 -#import "TZImageManager.h" 9 +#import "CNTZAssetModel.h"
  10 +#import "CNTZImageManager.h"
11 11
12 -@implementation TZAssetModel 12 +@implementation CNTZAssetModel
13 13
14 -+ (instancetype)modelWithAsset:(id)asset type:(TZAssetModelMediaType)type{  
15 - TZAssetModel *model = [[TZAssetModel alloc] init]; 14 ++ (instancetype)modelWithAsset:(id)asset type:(CNTZAssetModelMediaType)type{
  15 + CNTZAssetModel *model = [[CNTZAssetModel alloc] init];
16 model.asset = asset; 16 model.asset = asset;
17 model.isSelected = NO; 17 model.isSelected = NO;
18 model.type = type; 18 model.type = type;
19 return model; 19 return model;
20 } 20 }
21 21
22 -+ (instancetype)modelWithAsset:(id)asset type:(TZAssetModelMediaType)type timeLength:(NSString *)timeLength {  
23 - TZAssetModel *model = [self modelWithAsset:asset type:type]; 22 ++ (instancetype)modelWithAsset:(id)asset type:(CNTZAssetModelMediaType)type timeLength:(NSString *)timeLength {
  23 + CNTZAssetModel *model = [self modelWithAsset:asset type:type];
24 model.timeLength = timeLength; 24 model.timeLength = timeLength;
25 return model; 25 return model;
26 } 26 }
@@ -29,13 +29,13 @@ @@ -29,13 +29,13 @@
29 29
30 30
31 31
32 -@implementation TZAlbumModel 32 +@implementation CNTZAlbumModel
33 33
34 - (void)setResult:(id)result needFetchAssets:(BOOL)needFetchAssets { 34 - (void)setResult:(id)result needFetchAssets:(BOOL)needFetchAssets {
35 _result = result; 35 _result = result;
36 if (needFetchAssets) { 36 if (needFetchAssets) {
37 __weak typeof(self) weakSelf = self; 37 __weak typeof(self) weakSelf = self;
38 - [[TZImageManager manager] getAssetsFromFetchResult:result completion:^(NSArray<TZAssetModel *> *models) { 38 + [[CNTZImageManager manager] getAssetsFromFetchResult:result completion:^(NSArray<CNTZAssetModel *> *models) {
39 self->_models = models; 39 self->_models = models;
40 if (self->_selectedModels) { 40 if (self->_selectedModels) {
41 [weakSelf checkSelectedModels]; 41 [weakSelf checkSelectedModels];
@@ -54,11 +54,11 @@ @@ -54,11 +54,11 @@
54 - (void)checkSelectedModels { 54 - (void)checkSelectedModels {
55 self.selectedCount = 0; 55 self.selectedCount = 0;
56 NSMutableArray *selectedAssets = [NSMutableArray array]; 56 NSMutableArray *selectedAssets = [NSMutableArray array];
57 - for (TZAssetModel *model in _selectedModels) { 57 + for (CNTZAssetModel *model in _selectedModels) {
58 [selectedAssets addObject:model.asset]; 58 [selectedAssets addObject:model.asset];
59 } 59 }
60 - for (TZAssetModel *model in _models) {  
61 - if ([[TZImageManager manager] isAssetsArray:selectedAssets containAsset:model.asset]) { 60 + for (CNTZAssetModel *model in _models) {
  61 + if ([[CNTZImageManager manager] isAssetsArray:selectedAssets containAsset:model.asset]) {
62 self.selectedCount ++; 62 self.selectedCount ++;
63 } 63 }
64 } 64 }
CNLiveImagePickerController/Classes/TZGifPhotoPreviewController.h renamed to CNLiveImagePickerController/Classes/CNTZGifPhotoPreviewController.h
1 // 1 //
2 -// TZGifPhotoPreviewController.h  
3 -// TZImagePickerController 2 +// CNTZGifPhotoPreviewController.h
  3 +// CNTZImagePickerController
4 // 4 //
5 // Created by ttouch on 2016/12/13. 5 // Created by ttouch on 2016/12/13.
6 // Copyright © 2016年 谭真. All rights reserved. 6 // Copyright © 2016年 谭真. All rights reserved.
@@ -8,9 +8,9 @@ @@ -8,9 +8,9 @@
8 8
9 #import <UIKit/UIKit.h> 9 #import <UIKit/UIKit.h>
10 10
11 -@class TZAssetModel;  
12 -@interface TZGifPhotoPreviewController : UIViewController 11 +@class CNTZAssetModel;
  12 +@interface CNTZGifPhotoPreviewController : UIViewController
13 13
14 -@property (nonatomic, strong) TZAssetModel *model; 14 +@property (nonatomic, strong) CNTZAssetModel *model;
15 15
16 @end 16 @end
CNLiveImagePickerController/Classes/TZGifPhotoPreviewController.m renamed to CNLiveImagePickerController/Classes/CNTZGifPhotoPreviewController.m
  1 +
1 // 2 //
2 -// TZGifPhotoPreviewController.m  
3 -// TZImagePickerController 3 +// CNTZGifPhotoPreviewController.m
  4 +// CNTZImagePickerController
4 // 5 //
5 // Created by ttouch on 2016/12/13. 6 // Created by ttouch on 2016/12/13.
6 // Copyright © 2016年 谭真. All rights reserved. 7 // Copyright © 2016年 谭真. All rights reserved.
7 // 8 //
8 9
9 -#import "TZGifPhotoPreviewController.h"  
10 -#import "TZImagePickerController.h"  
11 -#import "TZAssetModel.h"  
12 -#import "UIView+TZLayout.h"  
13 -#import "TZPhotoPreviewCell.h"  
14 -#import "TZImageManager.h" 10 +#import "CNTZGifPhotoPreviewController.h"
  11 +#import "CNTZImagePickerController.h"
  12 +#import "CNTZAssetModel.h"
  13 +#import "UIView+CNTZLayout.h"
  14 +#import "CNTZPhotoPreviewCell.h"
  15 +#import "CNTZImageManager.h"
15 16
16 #pragma clang diagnostic push 17 #pragma clang diagnostic push
17 #pragma clang diagnostic ignored "-Wdeprecated-declarations" 18 #pragma clang diagnostic ignored "-Wdeprecated-declarations"
18 19
19 -@interface TZGifPhotoPreviewController () { 20 +@interface CNTZGifPhotoPreviewController () {
20 UIView *_toolBar; 21 UIView *_toolBar;
21 UIButton *_doneButton; 22 UIButton *_doneButton;
22 UIProgressView *_progress; 23 UIProgressView *_progress;
23 24
24 - TZPhotoPreviewView *_previewView; 25 + CNTZPhotoPreviewView *_previewView;
25 26
26 UIStatusBarStyle _originStatusBarStyle; 27 UIStatusBarStyle _originStatusBarStyle;
27 } 28 }
28 @end 29 @end
29 30
30 -@implementation TZGifPhotoPreviewController 31 +@implementation CNTZGifPhotoPreviewController
31 32
32 - (void)viewDidLoad { 33 - (void)viewDidLoad {
33 [super viewDidLoad]; 34 [super viewDidLoad];
34 self.view.backgroundColor = [UIColor blackColor]; 35 self.view.backgroundColor = [UIColor blackColor];
35 - TZImagePickerController *tzImagePickerVc = (TZImagePickerController *)self.navigationController;  
36 - if (tzImagePickerVc) {  
37 - self.navigationItem.title = [NSString stringWithFormat:@"GIF %@",tzImagePickerVc.previewBtnTitleStr]; 36 + CNTZImagePickerController *CNTZImagePickerVc = (CNTZImagePickerController *)self.navigationController;
  37 + if (CNTZImagePickerVc) {
  38 + self.navigationItem.title = [NSString stringWithFormat:@"GIF %@",CNTZImagePickerVc.previewBtnTitleStr];
38 } 39 }
39 [self configPreviewView]; 40 [self configPreviewView];
40 [self configBottomToolBar]; 41 [self configBottomToolBar];
@@ -52,7 +53,7 @@ @@ -52,7 +53,7 @@
52 } 53 }
53 54
54 - (void)configPreviewView { 55 - (void)configPreviewView {
55 - _previewView = [[TZPhotoPreviewView alloc] initWithFrame:CGRectZero]; 56 + _previewView = [[CNTZPhotoPreviewView alloc] initWithFrame:CGRectZero];
56 _previewView.model = self.model; 57 _previewView.model = self.model;
57 __weak typeof(self) weakSelf = self; 58 __weak typeof(self) weakSelf = self;
58 [_previewView setSingleTapGestureBlock:^{ 59 [_previewView setSingleTapGestureBlock:^{
@@ -70,12 +71,12 @@ @@ -70,12 +71,12 @@
70 _doneButton = [UIButton buttonWithType:UIButtonTypeCustom]; 71 _doneButton = [UIButton buttonWithType:UIButtonTypeCustom];
71 _doneButton.titleLabel.font = [UIFont systemFontOfSize:16]; 72 _doneButton.titleLabel.font = [UIFont systemFontOfSize:16];
72 [_doneButton addTarget:self action:@selector(doneButtonClick) forControlEvents:UIControlEventTouchUpInside]; 73 [_doneButton addTarget:self action:@selector(doneButtonClick) forControlEvents:UIControlEventTouchUpInside];
73 - TZImagePickerController *tzImagePickerVc = (TZImagePickerController *)self.navigationController;  
74 - if (tzImagePickerVc) {  
75 - [_doneButton setTitle:tzImagePickerVc.doneBtnTitleStr forState:UIControlStateNormal];  
76 - [_doneButton setTitleColor:tzImagePickerVc.oKButtonTitleColorNormal forState:UIControlStateNormal]; 74 + CNTZImagePickerController *CNTZImagePickerVc = (CNTZImagePickerController *)self.navigationController;
  75 + if (CNTZImagePickerVc) {
  76 + [_doneButton setTitle:CNTZImagePickerVc.doneBtnTitleStr forState:UIControlStateNormal];
  77 + [_doneButton setTitleColor:CNTZImagePickerVc.oKButtonTitleColorNormal forState:UIControlStateNormal];
77 } else { 78 } else {
78 - [_doneButton setTitle:[NSBundle tz_localizedStringForKey:@"Done"] forState:UIControlStateNormal]; 79 + [_doneButton setTitle:[NSBundle CNTZ_localizedStringForKey:@"Done"] forState:UIControlStateNormal];
79 [_doneButton setTitleColor:[UIColor colorWithRed:(83/255.0) green:(179/255.0) blue:(17/255.0) alpha:1.0] forState:UIControlStateNormal]; 80 [_doneButton setTitleColor:[UIColor colorWithRed:(83/255.0) green:(179/255.0) blue:(17/255.0) alpha:1.0] forState:UIControlStateNormal];
80 } 81 }
81 [_toolBar addSubview:_doneButton]; 82 [_toolBar addSubview:_doneButton];
@@ -84,15 +85,15 @@ @@ -84,15 +85,15 @@
84 byteLabel.textColor = [UIColor whiteColor]; 85 byteLabel.textColor = [UIColor whiteColor];
85 byteLabel.font = [UIFont systemFontOfSize:13]; 86 byteLabel.font = [UIFont systemFontOfSize:13];
86 byteLabel.frame = CGRectMake(10, 0, 100, 44); 87 byteLabel.frame = CGRectMake(10, 0, 100, 44);
87 - [[TZImageManager manager] getPhotosBytesWithArray:@[_model] completion:^(NSString *totalBytes) { 88 + [[CNTZImageManager manager] getPhotosBytesWithArray:@[_model] completion:^(NSString *totalBytes) {
88 byteLabel.text = totalBytes; 89 byteLabel.text = totalBytes;
89 }]; 90 }];
90 [_toolBar addSubview:byteLabel]; 91 [_toolBar addSubview:byteLabel];
91 92
92 [self.view addSubview:_toolBar]; 93 [self.view addSubview:_toolBar];
93 94
94 - if (tzImagePickerVc.gifPreviewPageUIConfigBlock) {  
95 - tzImagePickerVc.gifPreviewPageUIConfigBlock(_toolBar, _doneButton); 95 + if (CNTZImagePickerVc.gifPreviewPageUIConfigBlock) {
  96 + CNTZImagePickerVc.gifPreviewPageUIConfigBlock(_toolBar, _doneButton);
96 } 97 }
97 } 98 }
98 99
@@ -103,13 +104,13 @@ @@ -103,13 +104,13 @@
103 104
104 _previewView.frame = self.view.bounds; 105 _previewView.frame = self.view.bounds;
105 _previewView.scrollView.frame = self.view.bounds; 106 _previewView.scrollView.frame = self.view.bounds;
106 - CGFloat toolBarHeight = [TZCommonTools tz_isIPhoneX] ? 44 + (83 - 49) : 44;  
107 - _toolBar.frame = CGRectMake(0, self.view.tz_height - toolBarHeight, self.view.tz_width, toolBarHeight);  
108 - _doneButton.frame = CGRectMake(self.view.tz_width - 44 - 12, 0, 44, 44); 107 + CGFloat toolBarHeight = [CNTZCommonTools CNTZ_isIPhoneX] ? 44 + (83 - 49) : 44;
  108 + _toolBar.frame = CGRectMake(0, self.view.CNTZ_height - toolBarHeight, self.view.CNTZ_width, toolBarHeight);
  109 + _doneButton.frame = CGRectMake(self.view.CNTZ_width - 44 - 12, 0, 44, 44);
109 110
110 - TZImagePickerController *tzImagePickerVc = (TZImagePickerController *)self.navigationController;  
111 - if (tzImagePickerVc.gifPreviewPageDidLayoutSubviewsBlock) {  
112 - tzImagePickerVc.gifPreviewPageDidLayoutSubviewsBlock(_toolBar, _doneButton); 111 + CNTZImagePickerController *CNTZImagePickerVc = (CNTZImagePickerController *)self.navigationController;
  112 + if (CNTZImagePickerVc.gifPreviewPageDidLayoutSubviewsBlock) {
  113 + CNTZImagePickerVc.gifPreviewPageDidLayoutSubviewsBlock(_toolBar, _doneButton);
113 } 114 }
114 } 115 }
115 116
@@ -118,11 +119,11 @@ @@ -118,11 +119,11 @@
118 - (void)signleTapAction { 119 - (void)signleTapAction {
119 _toolBar.hidden = !_toolBar.isHidden; 120 _toolBar.hidden = !_toolBar.isHidden;
120 [self.navigationController setNavigationBarHidden:_toolBar.isHidden]; 121 [self.navigationController setNavigationBarHidden:_toolBar.isHidden];
121 - TZImagePickerController *tzImagePickerVc = (TZImagePickerController *)self.navigationController; 122 + CNTZImagePickerController *CNTZImagePickerVc = (CNTZImagePickerController *)self.navigationController;
122 if (iOS7Later) { 123 if (iOS7Later) {
123 if (_toolBar.isHidden) { 124 if (_toolBar.isHidden) {
124 [UIApplication sharedApplication].statusBarHidden = YES; 125 [UIApplication sharedApplication].statusBarHidden = YES;
125 - } else if (tzImagePickerVc.needShowStatusBar) { 126 + } else if (CNTZImagePickerVc.needShowStatusBar) {
126 [UIApplication sharedApplication].statusBarHidden = NO; 127 [UIApplication sharedApplication].statusBarHidden = NO;
127 } 128 }
128 } 129 }
@@ -132,7 +133,7 @@ @@ -132,7 +133,7 @@
132 #pragma mark - TODO: 导出 133 #pragma mark - TODO: 导出
133 134
134 if (self.navigationController) { 135 if (self.navigationController) {
135 - TZImagePickerController *imagePickerVc = (TZImagePickerController *)self.navigationController; 136 + CNTZImagePickerController *imagePickerVc = (CNTZImagePickerController *)self.navigationController;
136 if (imagePickerVc.autoDismiss) { 137 if (imagePickerVc.autoDismiss) {
137 [self.navigationController dismissViewControllerAnimated:YES completion:^{ 138 [self.navigationController dismissViewControllerAnimated:YES completion:^{
138 [self callDelegateMethod]; 139 [self callDelegateMethod];
@@ -148,7 +149,7 @@ @@ -148,7 +149,7 @@
148 } 149 }
149 150
150 - (void)callDelegateMethod { 151 - (void)callDelegateMethod {
151 - TZImagePickerController *imagePickerVc = (TZImagePickerController *)self.navigationController; 152 + CNTZImagePickerController *imagePickerVc = (CNTZImagePickerController *)self.navigationController;
152 UIImage *animatedImage = _previewView.imageView.image; 153 UIImage *animatedImage = _previewView.imageView.image;
153 if ([imagePickerVc.pickerDelegate respondsToSelector:@selector(imagePickerController:didFinishPickingGifImage:sourceAssets:)]) { 154 if ([imagePickerVc.pickerDelegate respondsToSelector:@selector(imagePickerController:didFinishPickingGifImage:sourceAssets:)]) {
154 [imagePickerVc.pickerDelegate imagePickerController:imagePickerVc didFinishPickingGifImage:animatedImage sourceAssets:_model.asset]; 155 [imagePickerVc.pickerDelegate imagePickerController:imagePickerVc didFinishPickingGifImage:animatedImage sourceAssets:_model.asset];
CNLiveImagePickerController/Classes/TZImageCropManager.h renamed to CNLiveImagePickerController/Classes/CNTZImageCropManager.h
1 // 1 //
2 -// TZImageCropManager.h  
3 -// TZImagePickerController 2 +// CNTZImageCropManager.h
  3 +// CNTZImagePickerController
4 // 4 //
5 // Created by 谭真 on 2016/12/5. 5 // Created by 谭真 on 2016/12/5.
6 // Copyright © 2016年 谭真. All rights reserved. 6 // Copyright © 2016年 谭真. All rights reserved.
@@ -9,7 +9,7 @@ @@ -9,7 +9,7 @@
9 #import <Foundation/Foundation.h> 9 #import <Foundation/Foundation.h>
10 #import <UIKit/UIKit.h> 10 #import <UIKit/UIKit.h>
11 11
12 -@interface TZImageCropManager : NSObject 12 +@interface CNTZImageCropManager : NSObject
13 13
14 /// 裁剪框背景的处理 14 /// 裁剪框背景的处理
15 + (void)overlayClippingWithView:(UIView *)view cropRect:(CGRect)cropRect containerView:(UIView *)containerView needCircleCrop:(BOOL)needCircleCrop; 15 + (void)overlayClippingWithView:(UIView *)view cropRect:(CGRect)cropRect containerView:(UIView *)containerView needCircleCrop:(BOOL)needCircleCrop;
@@ -32,8 +32,8 @@ @@ -32,8 +32,8 @@
32 32
33 /// 该分类的代码来自SDWebImage:https://github.com/rs/SDWebImage 33 /// 该分类的代码来自SDWebImage:https://github.com/rs/SDWebImage
34 /// 为了防止冲突,我将分类名字和方法名字做了修改 34 /// 为了防止冲突,我将分类名字和方法名字做了修改
35 -@interface UIImage (TZGif) 35 +@interface UIImage (CNTZGif)
36 36
37 -+ (UIImage *)sd_tz_animatedGIFWithData:(NSData *)data; 37 ++ (UIImage *)sd_CNTZ_animatedGIFWithData:(NSData *)data;
38 38
39 @end 39 @end
CNLiveImagePickerController/Classes/TZImageCropManager.m renamed to CNLiveImagePickerController/Classes/CNTZImageCropManager.m
1 // 1 //
2 -// TZImageCropManager.m  
3 -// TZImagePickerController 2 +// CNTZImageCropManager.m
  3 +// CNTZImagePickerController
4 // 4 //
5 // Created by 谭真 on 2016/12/5. 5 // Created by 谭真 on 2016/12/5.
6 // Copyright © 2016年 谭真. All rights reserved. 6 // Copyright © 2016年 谭真. All rights reserved.
7 // 7 //
8 8
9 -#import "TZImageCropManager.h"  
10 -#import "UIView+TZLayout.h" 9 +#import "CNTZImageCropManager.h"
  10 +#import "UIView+CNTZLayout.h"
11 #import <ImageIO/ImageIO.h> 11 #import <ImageIO/ImageIO.h>
12 -#import "TZImageManager.h"  
13 -#import "TZImagePickerController.h" 12 +#import "CNTZImageManager.h"
  13 +#import "CNTZImagePickerController.h"
14 14
15 -@implementation TZImageCropManager 15 +@implementation CNTZImageCropManager
16 16
17 /// 裁剪框背景的处理 17 /// 裁剪框背景的处理
18 + (void)overlayClippingWithView:(UIView *)view cropRect:(CGRect)cropRect containerView:(UIView *)containerView needCircleCrop:(BOOL)needCircleCrop { 18 + (void)overlayClippingWithView:(UIView *)view cropRect:(CGRect)cropRect containerView:(UIView *)containerView needCircleCrop:(BOOL)needCircleCrop {
@@ -36,7 +36,7 @@ @@ -36,7 +36,7 @@
36 // 平移的处理 36 // 平移的处理
37 CGRect imageViewRect = [imageView convertRect:imageView.bounds toView:containerView]; 37 CGRect imageViewRect = [imageView convertRect:imageView.bounds toView:containerView];
38 CGPoint point = CGPointMake(imageViewRect.origin.x + imageViewRect.size.width / 2, imageViewRect.origin.y + imageViewRect.size.height / 2); 38 CGPoint point = CGPointMake(imageViewRect.origin.x + imageViewRect.size.width / 2, imageViewRect.origin.y + imageViewRect.size.height / 2);
39 - CGFloat xMargin = containerView.tz_width - CGRectGetMaxX(rect) - rect.origin.x; 39 + CGFloat xMargin = containerView.CNTZ_width - CGRectGetMaxX(rect) - rect.origin.x;
40 CGPoint zeroPoint = CGPointMake((CGRectGetWidth(containerView.frame) - xMargin) / 2, containerView.center.y); 40 CGPoint zeroPoint = CGPointMake((CGRectGetWidth(containerView.frame) - xMargin) / 2, containerView.center.y);
41 CGPoint translation = CGPointMake(point.x - zeroPoint.x, point.y - zeroPoint.y); 41 CGPoint translation = CGPointMake(point.x - zeroPoint.x, point.y - zeroPoint.y);
42 transform = CGAffineTransformTranslate(transform, translation.x, translation.y); 42 transform = CGAffineTransformTranslate(transform, translation.x, translation.y);
@@ -50,7 +50,7 @@ @@ -50,7 +50,7 @@
50 cropSize:rect.size 50 cropSize:rect.size
51 imageViewSize:imageView.frame.size]; 51 imageViewSize:imageView.frame.size];
52 UIImage *cropedImage = [UIImage imageWithCGImage:imageRef]; 52 UIImage *cropedImage = [UIImage imageWithCGImage:imageRef];
53 - cropedImage = [[TZImageManager manager] fixOrientation:cropedImage]; 53 + cropedImage = [[CNTZImageManager manager] fixOrientation:cropedImage];
54 CGImageRelease(imageRef); 54 CGImageRelease(imageRef);
55 return cropedImage; 55 return cropedImage;
56 } 56 }
@@ -115,9 +115,9 @@ @@ -115,9 +115,9 @@
115 @end 115 @end
116 116
117 117
118 -@implementation UIImage (TZGif) 118 +@implementation UIImage (CNTZGif)
119 119
120 -+ (UIImage *)sd_tz_animatedGIFWithData:(NSData *)data { 120 ++ (UIImage *)sd_CNTZ_animatedGIFWithData:(NSData *)data {
121 if (!data) { 121 if (!data) {
122 return nil; 122 return nil;
123 } 123 }
@@ -133,7 +133,7 @@ @@ -133,7 +133,7 @@
133 } 133 }
134 else { 134 else {
135 // images数组过大时内存会飙升,在这里限制下最大count 135 // images数组过大时内存会飙升,在这里限制下最大count
136 - NSInteger maxCount = [TZImagePickerConfig sharedInstance].gifPreviewMaxImagesCount ?: 200; 136 + NSInteger maxCount = [CNTZImagePickerConfig sharedInstance].gifPreviewMaxImagesCount ?: 200;
137 NSInteger interval = MAX((count + maxCount / 2) / maxCount, 1); 137 NSInteger interval = MAX((count + maxCount / 2) / maxCount, 1);
138 138
139 NSMutableArray *images = [NSMutableArray array]; 139 NSMutableArray *images = [NSMutableArray array];
CNLiveImagePickerController/Classes/TZImageManager.h renamed to CNLiveImagePickerController/Classes/CNTZImageManager.h
1 // 1 //
2 -// TZImageManager.h  
3 -// TZImagePickerController 2 +// CNTZImageManager.h
  3 +// CNTZImagePickerController
4 // 4 //
5 // Created by 谭真 on 16/1/4. 5 // Created by 谭真 on 16/1/4.
6 // Copyright © 2016年 谭真. All rights reserved. 6 // Copyright © 2016年 谭真. All rights reserved.
@@ -10,18 +10,18 @@ @@ -10,18 +10,18 @@
10 #import <UIKit/UIKit.h> 10 #import <UIKit/UIKit.h>
11 #import <AVFoundation/AVFoundation.h> 11 #import <AVFoundation/AVFoundation.h>
12 #import <Photos/Photos.h> 12 #import <Photos/Photos.h>
13 -#import "TZAssetModel.h" 13 +#import "CNTZAssetModel.h"
14 14
15 -@class TZAlbumModel,TZAssetModel;  
16 -@protocol TZImagePickerControllerDelegate;  
17 -@interface TZImageManager : NSObject 15 +@class CNTZAlbumModel,CNTZAssetModel;
  16 +@protocol CNTZImagePickerControllerDelegate;
  17 +@interface CNTZImageManager : NSObject
18 18
19 @property (nonatomic, strong) PHCachingImageManager *cachingImageManager; 19 @property (nonatomic, strong) PHCachingImageManager *cachingImageManager;
20 20
21 + (instancetype)manager NS_SWIFT_NAME(default()); 21 + (instancetype)manager NS_SWIFT_NAME(default());
22 + (void)deallocManager; 22 + (void)deallocManager;
23 23
24 -@property (weak, nonatomic) id<TZImagePickerControllerDelegate> pickerDelegate; 24 +@property (weak, nonatomic) id<CNTZImagePickerControllerDelegate> pickerDelegate;
25 25
26 #pragma mark - 添加: 原有逻辑-会话id(LXG) 26 #pragma mark - 添加: 原有逻辑-会话id(LXG)
27 //zl__会话Id用于视频导出路径 27 //zl__会话Id用于视频导出路径
@@ -34,8 +34,8 @@ @@ -34,8 +34,8 @@
34 /// The pixel width of output image, Default is 828px / 导出图片的宽度,默认828像素宽 34 /// The pixel width of output image, Default is 828px / 导出图片的宽度,默认828像素宽
35 @property (nonatomic, assign) CGFloat photoWidth; 35 @property (nonatomic, assign) CGFloat photoWidth;
36 36
37 -/// Default is 4, Use in photos collectionView in TZPhotoPickerController  
38 -/// 默认4列, TZPhotoPickerController中的照片collectionView 37 +/// Default is 4, Use in photos collectionView in CNTZPhotoPickerController
  38 +/// 默认4列, CNTZPhotoPickerController中的照片collectionView
39 @property (nonatomic, assign) NSInteger columnNumber; 39 @property (nonatomic, assign) NSInteger columnNumber;
40 40
41 /// Sort photos ascending by modificationDate,Default is YES 41 /// Sort photos ascending by modificationDate,Default is YES
@@ -54,16 +54,16 @@ @@ -54,16 +54,16 @@
54 - (void)requestAuthorizationWithCompletion:(void (^)(void))completion; 54 - (void)requestAuthorizationWithCompletion:(void (^)(void))completion;
55 55
56 /// Get Album 获得相册/相册数组 56 /// Get Album 获得相册/相册数组
57 -- (void)getCameraRollAlbum:(BOOL)allowPickingVideo allowPickingImage:(BOOL)allowPickingImage needFetchAssets:(BOOL)needFetchAssets completion:(void (^)(TZAlbumModel *model))completion;  
58 -- (void)getAllAlbums:(BOOL)allowPickingVideo allowPickingImage:(BOOL)allowPickingImage needFetchAssets:(BOOL)needFetchAssets completion:(void (^)(NSArray<TZAlbumModel *> *models))completion; 57 +- (void)getCameraRollAlbum:(BOOL)allowPickingVideo allowPickingImage:(BOOL)allowPickingImage needFetchAssets:(BOOL)needFetchAssets completion:(void (^)(CNTZAlbumModel *model))completion;
  58 +- (void)getAllAlbums:(BOOL)allowPickingVideo allowPickingImage:(BOOL)allowPickingImage needFetchAssets:(BOOL)needFetchAssets completion:(void (^)(NSArray<CNTZAlbumModel *> *models))completion;
59 59
60 /// Get Assets 获得Asset数组 60 /// Get Assets 获得Asset数组
61 -- (void)getAssetsFromFetchResult:(id)result completion:(void (^)(NSArray<TZAssetModel *> *models))completion;  
62 -- (void)getAssetsFromFetchResult:(id)result allowPickingVideo:(BOOL)allowPickingVideo allowPickingImage:(BOOL)allowPickingImage completion:(void (^)(NSArray<TZAssetModel *> *models))completion;  
63 -- (void)getAssetFromFetchResult:(id)result atIndex:(NSInteger)index allowPickingVideo:(BOOL)allowPickingVideo allowPickingImage:(BOOL)allowPickingImage completion:(void (^)(TZAssetModel *model))completion; 61 +- (void)getAssetsFromFetchResult:(id)result completion:(void (^)(NSArray<CNTZAssetModel *> *models))completion;
  62 +- (void)getAssetsFromFetchResult:(id)result allowPickingVideo:(BOOL)allowPickingVideo allowPickingImage:(BOOL)allowPickingImage completion:(void (^)(NSArray<CNTZAssetModel *> *models))completion;
  63 +- (void)getAssetFromFetchResult:(id)result atIndex:(NSInteger)index allowPickingVideo:(BOOL)allowPickingVideo allowPickingImage:(BOOL)allowPickingImage completion:(void (^)(CNTZAssetModel *model))completion;
64 64
65 /// Get photo 获得照片 65 /// Get photo 获得照片
66 -- (void)getPostImageWithAlbumModel:(TZAlbumModel *)model completion:(void (^)(UIImage *postImage))completion; 66 +- (void)getPostImageWithAlbumModel:(CNTZAlbumModel *)model completion:(void (^)(UIImage *postImage))completion;
67 67
68 - (int32_t)getPhotoWithAsset:(id)asset completion:(void (^)(UIImage *photo,NSDictionary *info,BOOL isDegraded))completion; 68 - (int32_t)getPhotoWithAsset:(id)asset completion:(void (^)(UIImage *photo,NSDictionary *info,BOOL isDegraded))completion;
69 - (int32_t)getPhotoWithAsset:(id)asset photoWidth:(CGFloat)photoWidth completion:(void (^)(UIImage *photo,NSDictionary *info,BOOL isDegraded))completion; 69 - (int32_t)getPhotoWithAsset:(id)asset photoWidth:(CGFloat)photoWidth completion:(void (^)(UIImage *photo,NSDictionary *info,BOOL isDegraded))completion;
@@ -114,7 +114,7 @@ @@ -114,7 +114,7 @@
114 - (UIImage *)fixOrientation:(UIImage *)aImage; 114 - (UIImage *)fixOrientation:(UIImage *)aImage;
115 115
116 /// 获取asset的资源类型 116 /// 获取asset的资源类型
117 -- (TZAssetModelMediaType)getAssetType:(id)asset; 117 +- (CNTZAssetModelMediaType)getAssetType:(id)asset;
118 /// 缩放图片至新尺寸 118 /// 缩放图片至新尺寸
119 - (UIImage *)scaleImage:(UIImage *)image toSize:(CGSize)size; 119 - (UIImage *)scaleImage:(UIImage *)image toSize:(CGSize)size;
120 120
@@ -123,6 +123,6 @@ @@ -123,6 +123,6 @@
123 123
124 @end 124 @end
125 125
126 -//@interface TZSortDescriptor : NSSortDescriptor 126 +//@interface CNTZSortDescriptor : NSSortDescriptor
127 // 127 //
128 //@end 128 //@end
CNLiveImagePickerController/Classes/TZImageManager.m renamed to CNLiveImagePickerController/Classes/CNTZImageManager.m
1 // 1 //
2 -// TZImageManager.m  
3 -// TZImagePickerController 2 +// CNTZImageManager.m
  3 +// CNTZImagePickerController
4 // 4 //
5 // Created by 谭真 on 16/1/4. 5 // Created by 谭真 on 16/1/4.
6 // Copyright © 2016年 谭真. All rights reserved. 6 // Copyright © 2016年 谭真. All rights reserved.
7 // 7 //
8 8
9 -#import "TZImageManager.h" 9 +#import "CNTZImageManager.h"
10 #import <AssetsLibrary/AssetsLibrary.h> 10 #import <AssetsLibrary/AssetsLibrary.h>
11 -#import "TZAssetModel.h"  
12 -#import "TZImagePickerController.h" 11 +#import "CNTZAssetModel.h"
  12 +#import "CNTZImagePickerController.h"
13 #import <CNLiveBusinessTools/CNLiveBusinessTools.h> 13 #import <CNLiveBusinessTools/CNLiveBusinessTools.h>
14 #import <CNLiveUserManagement/CNUserInfoModel.h> 14 #import <CNLiveUserManagement/CNUserInfoModel.h>
15 #import <CNLiveUserManagement/CNUserInfoManager.h> 15 #import <CNLiveUserManagement/CNUserInfoManager.h>
16 16
17 -@interface TZImageManager () 17 +@interface CNTZImageManager ()
18 #pragma clang diagnostic push 18 #pragma clang diagnostic push
19 #pragma clang diagnostic ignored "-Wdeprecated-declarations" 19 #pragma clang diagnostic ignored "-Wdeprecated-declarations"
20 @property (nonatomic, strong) ALAssetsLibrary *assetLibrary; 20 @property (nonatomic, strong) ALAssetsLibrary *assetLibrary;
21 @end 21 @end
22 22
23 -@implementation TZImageManager 23 +@implementation CNTZImageManager
24 24
25 CGSize AssetGridThumbnailSize; 25 CGSize AssetGridThumbnailSize;
26 -CGFloat TZScreenWidth;  
27 -CGFloat TZScreenScale; 26 +CGFloat CNTZScreenWidth;
  27 +CGFloat CNTZScreenScale;
28 28
29 -static TZImageManager *manager; 29 +static CNTZImageManager *manager;
30 static dispatch_once_t onceToken; 30 static dispatch_once_t onceToken;
31 31
32 + (instancetype)manager { 32 + (instancetype)manager {
@@ -37,7 +37,7 @@ static dispatch_once_t onceToken; @@ -37,7 +37,7 @@ static dispatch_once_t onceToken;
37 // manager.cachingImageManager.allowsCachingHighQualityImages = YES; 37 // manager.cachingImageManager.allowsCachingHighQualityImages = YES;
38 } 38 }
39 39
40 - [manager configTZScreenWidth]; 40 + [manager configCNTZScreenWidth];
41 }); 41 });
42 return manager; 42 return manager;
43 } 43 }
@@ -49,24 +49,24 @@ static dispatch_once_t onceToken; @@ -49,24 +49,24 @@ static dispatch_once_t onceToken;
49 49
50 - (void)setPhotoWidth:(CGFloat)photoWidth { 50 - (void)setPhotoWidth:(CGFloat)photoWidth {
51 _photoWidth = photoWidth; 51 _photoWidth = photoWidth;
52 - TZScreenWidth = photoWidth / 2; 52 + CNTZScreenWidth = photoWidth / 2;
53 } 53 }
54 54
55 - (void)setColumnNumber:(NSInteger)columnNumber { 55 - (void)setColumnNumber:(NSInteger)columnNumber {
56 - [self configTZScreenWidth]; 56 + [self configCNTZScreenWidth];
57 57
58 _columnNumber = columnNumber; 58 _columnNumber = columnNumber;
59 CGFloat margin = 4; 59 CGFloat margin = 4;
60 - CGFloat itemWH = (TZScreenWidth - 2 * margin - 4) / columnNumber - margin;  
61 - AssetGridThumbnailSize = CGSizeMake(itemWH * TZScreenScale, itemWH * TZScreenScale); 60 + CGFloat itemWH = (CNTZScreenWidth - 2 * margin - 4) / columnNumber - margin;
  61 + AssetGridThumbnailSize = CGSizeMake(itemWH * CNTZScreenScale, itemWH * CNTZScreenScale);
62 } 62 }
63 63
64 -- (void)configTZScreenWidth {  
65 - TZScreenWidth = [UIScreen mainScreen].bounds.size.width; 64 +- (void)configCNTZScreenWidth {
  65 + CNTZScreenWidth = [UIScreen mainScreen].bounds.size.width;
66 // 测试发现,如果scale在plus真机上取到3.0,内存会增大特别多。故这里写死成2.0 66 // 测试发现,如果scale在plus真机上取到3.0,内存会增大特别多。故这里写死成2.0
67 - TZScreenScale = 2.0;  
68 - if (TZScreenWidth > 700) {  
69 - TZScreenScale = 1.5; 67 + CNTZScreenScale = 2.0;
  68 + if (CNTZScreenWidth > 700) {
  69 + CNTZScreenScale = 1.5;
70 } 70 }
71 } 71 }
72 72
@@ -124,8 +124,8 @@ static dispatch_once_t onceToken; @@ -124,8 +124,8 @@ static dispatch_once_t onceToken;
124 #pragma mark - Get Album 124 #pragma mark - Get Album
125 125
126 /// Get Album 获得相册/相册数组 126 /// Get Album 获得相册/相册数组
127 -- (void)getCameraRollAlbum:(BOOL)allowPickingVideo allowPickingImage:(BOOL)allowPickingImage needFetchAssets:(BOOL)needFetchAssets completion:(void (^)(TZAlbumModel *model))completion {  
128 - __block TZAlbumModel *model; 127 +- (void)getCameraRollAlbum:(BOOL)allowPickingVideo allowPickingImage:(BOOL)allowPickingImage needFetchAssets:(BOOL)needFetchAssets completion:(void (^)(CNTZAlbumModel *model))completion {
  128 + __block CNTZAlbumModel *model;
129 if (iOS8Later) { 129 if (iOS8Later) {
130 PHFetchOptions *option = [[PHFetchOptions alloc] init]; 130 PHFetchOptions *option = [[PHFetchOptions alloc] init];
131 if (!allowPickingVideo) option.predicate = [NSPredicate predicateWithFormat:@"mediaType == %ld", PHAssetMediaTypeImage]; 131 if (!allowPickingVideo) option.predicate = [NSPredicate predicateWithFormat:@"mediaType == %ld", PHAssetMediaTypeImage];
@@ -162,7 +162,7 @@ static dispatch_once_t onceToken; @@ -162,7 +162,7 @@ static dispatch_once_t onceToken;
162 } 162 }
163 } 163 }
164 164
165 -- (void)getAllAlbums:(BOOL)allowPickingVideo allowPickingImage:(BOOL)allowPickingImage needFetchAssets:(BOOL)needFetchAssets completion:(void (^)(NSArray<TZAlbumModel *> *))completion{ 165 +- (void)getAllAlbums:(BOOL)allowPickingVideo allowPickingImage:(BOOL)allowPickingImage needFetchAssets:(BOOL)needFetchAssets completion:(void (^)(NSArray<CNTZAlbumModel *> *))completion{
166 NSMutableArray *albumArr = [NSMutableArray array]; 166 NSMutableArray *albumArr = [NSMutableArray array];
167 if (iOS8Later) { 167 if (iOS8Later) {
168 PHFetchOptions *option = [[PHFetchOptions alloc] init]; 168 PHFetchOptions *option = [[PHFetchOptions alloc] init];
@@ -242,17 +242,17 @@ static dispatch_once_t onceToken; @@ -242,17 +242,17 @@ static dispatch_once_t onceToken;
242 #pragma mark - Get Assets 242 #pragma mark - Get Assets
243 243
244 /// Get Assets 获得照片数组 244 /// Get Assets 获得照片数组
245 -- (void)getAssetsFromFetchResult:(id)result completion:(void (^)(NSArray<TZAssetModel *> *))completion {  
246 - TZImagePickerConfig *config = [TZImagePickerConfig sharedInstance]; 245 +- (void)getAssetsFromFetchResult:(id)result completion:(void (^)(NSArray<CNTZAssetModel *> *))completion {
  246 + CNTZImagePickerConfig *config = [CNTZImagePickerConfig sharedInstance];
247 return [self getAssetsFromFetchResult:result allowPickingVideo:config.allowPickingVideo allowPickingImage:config.allowPickingImage completion:completion]; 247 return [self getAssetsFromFetchResult:result allowPickingVideo:config.allowPickingVideo allowPickingImage:config.allowPickingImage completion:completion];
248 } 248 }
249 249
250 -- (void)getAssetsFromFetchResult:(id)result allowPickingVideo:(BOOL)allowPickingVideo allowPickingImage:(BOOL)allowPickingImage completion:(void (^)(NSArray<TZAssetModel *> *))completion { 250 +- (void)getAssetsFromFetchResult:(id)result allowPickingVideo:(BOOL)allowPickingVideo allowPickingImage:(BOOL)allowPickingImage completion:(void (^)(NSArray<CNTZAssetModel *> *))completion {
251 NSMutableArray *photoArr = [NSMutableArray array]; 251 NSMutableArray *photoArr = [NSMutableArray array];
252 if ([result isKindOfClass:[PHFetchResult class]]) { 252 if ([result isKindOfClass:[PHFetchResult class]]) {
253 PHFetchResult *fetchResult = (PHFetchResult *)result; 253 PHFetchResult *fetchResult = (PHFetchResult *)result;
254 [fetchResult enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { 254 [fetchResult enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
255 - TZAssetModel *model = [self assetModelWithAsset:obj allowPickingVideo:allowPickingVideo allowPickingImage:allowPickingImage]; 255 + CNTZAssetModel *model = [self assetModelWithAsset:obj allowPickingVideo:allowPickingVideo allowPickingImage:allowPickingImage];
256 if (model) { 256 if (model) {
257 [photoArr addObject:model]; 257 [photoArr addObject:model];
258 } 258 }
@@ -271,7 +271,7 @@ static dispatch_once_t onceToken; @@ -271,7 +271,7 @@ static dispatch_once_t onceToken;
271 if (result == nil) { 271 if (result == nil) {
272 if (completion) completion(photoArr); 272 if (completion) completion(photoArr);
273 } 273 }
274 - TZAssetModel *model = [self assetModelWithAsset:result allowPickingVideo:allowPickingVideo allowPickingImage:allowPickingImage]; 274 + CNTZAssetModel *model = [self assetModelWithAsset:result allowPickingVideo:allowPickingVideo allowPickingImage:allowPickingImage];
275 if (model) { 275 if (model) {
276 [photoArr addObject:model]; 276 [photoArr addObject:model];
277 } 277 }
@@ -290,7 +290,7 @@ static dispatch_once_t onceToken; @@ -290,7 +290,7 @@ static dispatch_once_t onceToken;
290 290
291 /// Get asset at index 获得下标为index的单个照片 291 /// Get asset at index 获得下标为index的单个照片
292 /// if index beyond bounds, return nil in callback 如果索引越界, 在回调中返回 nil 292 /// if index beyond bounds, return nil in callback 如果索引越界, 在回调中返回 nil
293 -- (void)getAssetFromFetchResult:(id)result atIndex:(NSInteger)index allowPickingVideo:(BOOL)allowPickingVideo allowPickingImage:(BOOL)allowPickingImage completion:(void (^)(TZAssetModel *))completion { 293 +- (void)getAssetFromFetchResult:(id)result atIndex:(NSInteger)index allowPickingVideo:(BOOL)allowPickingVideo allowPickingImage:(BOOL)allowPickingImage completion:(void (^)(CNTZAssetModel *))completion {
294 if ([result isKindOfClass:[PHFetchResult class]]) { 294 if ([result isKindOfClass:[PHFetchResult class]]) {
295 PHFetchResult *fetchResult = (PHFetchResult *)result; 295 PHFetchResult *fetchResult = (PHFetchResult *)result;
296 PHAsset *asset; 296 PHAsset *asset;
@@ -301,7 +301,7 @@ static dispatch_once_t onceToken; @@ -301,7 +301,7 @@ static dispatch_once_t onceToken;
301 if (completion) completion(nil); 301 if (completion) completion(nil);
302 return; 302 return;
303 } 303 }
304 - TZAssetModel *model = [self assetModelWithAsset:asset allowPickingVideo:allowPickingVideo allowPickingImage:allowPickingImage]; 304 + CNTZAssetModel *model = [self assetModelWithAsset:asset allowPickingVideo:allowPickingVideo allowPickingImage:allowPickingImage];
305 if (completion) completion(model); 305 if (completion) completion(model);
306 } else if ([result isKindOfClass:[ALAssetsGroup class]]) { 306 } else if ([result isKindOfClass:[ALAssetsGroup class]]) {
307 ALAssetsGroup *group = (ALAssetsGroup *)result; 307 ALAssetsGroup *group = (ALAssetsGroup *)result;
@@ -316,7 +316,7 @@ static dispatch_once_t onceToken; @@ -316,7 +316,7 @@ static dispatch_once_t onceToken;
316 @try { 316 @try {
317 [group enumerateAssetsAtIndexes:indexSet options:NSEnumerationConcurrent usingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop) { 317 [group enumerateAssetsAtIndexes:indexSet options:NSEnumerationConcurrent usingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop) {
318 if (!result) return; 318 if (!result) return;
319 - TZAssetModel *model = [self assetModelWithAsset:result allowPickingVideo:allowPickingVideo allowPickingImage:allowPickingImage]; 319 + CNTZAssetModel *model = [self assetModelWithAsset:result allowPickingVideo:allowPickingVideo allowPickingImage:allowPickingImage];
320 if (completion) completion(model); 320 if (completion) completion(model);
321 }]; 321 }];
322 } 322 }
@@ -326,19 +326,19 @@ static dispatch_once_t onceToken; @@ -326,19 +326,19 @@ static dispatch_once_t onceToken;
326 } 326 }
327 } 327 }
328 328
329 -- (TZAssetModel *)assetModelWithAsset:(id)asset allowPickingVideo:(BOOL)allowPickingVideo allowPickingImage:(BOOL)allowPickingImage { 329 +- (CNTZAssetModel *)assetModelWithAsset:(id)asset allowPickingVideo:(BOOL)allowPickingVideo allowPickingImage:(BOOL)allowPickingImage {
330 BOOL canSelect = YES; 330 BOOL canSelect = YES;
331 if ([self.pickerDelegate respondsToSelector:@selector(isAssetCanSelect:)]) { 331 if ([self.pickerDelegate respondsToSelector:@selector(isAssetCanSelect:)]) {
332 canSelect = [self.pickerDelegate isAssetCanSelect:asset]; 332 canSelect = [self.pickerDelegate isAssetCanSelect:asset];
333 } 333 }
334 if (!canSelect) return nil; 334 if (!canSelect) return nil;
335 335
336 - TZAssetModel *model;  
337 - TZAssetModelMediaType type = [self getAssetType:asset]; 336 + CNTZAssetModel *model;
  337 + CNTZAssetModelMediaType type = [self getAssetType:asset];
338 if ([asset isKindOfClass:[PHAsset class]]) { 338 if ([asset isKindOfClass:[PHAsset class]]) {
339 - if (!allowPickingVideo && type == TZAssetModelMediaTypeVideo) return nil;  
340 - if (!allowPickingImage && type == TZAssetModelMediaTypePhoto) return nil;  
341 - if (!allowPickingImage && type == TZAssetModelMediaTypePhotoGif) return nil; 339 + if (!allowPickingVideo && type == CNTZAssetModelMediaTypeVideo) return nil;
  340 + if (!allowPickingImage && type == CNTZAssetModelMediaTypePhoto) return nil;
  341 + if (!allowPickingImage && type == CNTZAssetModelMediaTypePhotoGif) return nil;
342 342
343 PHAsset *phAsset = (PHAsset *)asset; 343 PHAsset *phAsset = (PHAsset *)asset;
344 if (self.hideWhenCanNotSelect) { 344 if (self.hideWhenCanNotSelect) {
@@ -347,20 +347,20 @@ static dispatch_once_t onceToken; @@ -347,20 +347,20 @@ static dispatch_once_t onceToken;
347 return nil; 347 return nil;
348 } 348 }
349 } 349 }
350 - NSString *timeLength = type == TZAssetModelMediaTypeVideo ? [NSString stringWithFormat:@"%0.0f",phAsset.duration] : @""; 350 + NSString *timeLength = type == CNTZAssetModelMediaTypeVideo ? [NSString stringWithFormat:@"%0.0f",phAsset.duration] : @"";
351 timeLength = [self getNewTimeFromDurationSecond:timeLength.integerValue]; 351 timeLength = [self getNewTimeFromDurationSecond:timeLength.integerValue];
352 - model = [TZAssetModel modelWithAsset:asset type:type timeLength:timeLength]; 352 + model = [CNTZAssetModel modelWithAsset:asset type:type timeLength:timeLength];
353 } else { 353 } else {
354 if (!allowPickingVideo){ 354 if (!allowPickingVideo){
355 - model = [TZAssetModel modelWithAsset:asset type:type]; 355 + model = [CNTZAssetModel modelWithAsset:asset type:type];
356 return model; 356 return model;
357 } 357 }
358 /// Allow picking video 358 /// Allow picking video
359 - if (type == TZAssetModelMediaTypeVideo) { 359 + if (type == CNTZAssetModelMediaTypeVideo) {
360 NSTimeInterval duration = [[asset valueForProperty:ALAssetPropertyDuration] doubleValue]; 360 NSTimeInterval duration = [[asset valueForProperty:ALAssetPropertyDuration] doubleValue];
361 NSString *timeLength = [NSString stringWithFormat:@"%0.0f",duration]; 361 NSString *timeLength = [NSString stringWithFormat:@"%0.0f",duration];
362 timeLength = [self getNewTimeFromDurationSecond:timeLength.integerValue]; 362 timeLength = [self getNewTimeFromDurationSecond:timeLength.integerValue];
363 - model = [TZAssetModel modelWithAsset:asset type:type timeLength:timeLength]; 363 + model = [CNTZAssetModel modelWithAsset:asset type:type timeLength:timeLength];
364 } else { 364 } else {
365 if (self.hideWhenCanNotSelect) { 365 if (self.hideWhenCanNotSelect) {
366 // 过滤掉尺寸不满足要求的图片 366 // 过滤掉尺寸不满足要求的图片
@@ -368,30 +368,30 @@ static dispatch_once_t onceToken; @@ -368,30 +368,30 @@ static dispatch_once_t onceToken;
368 return nil; 368 return nil;
369 } 369 }
370 } 370 }
371 - model = [TZAssetModel modelWithAsset:asset type:type]; 371 + model = [CNTZAssetModel modelWithAsset:asset type:type];
372 } 372 }
373 } 373 }
374 return model; 374 return model;
375 } 375 }
376 376
377 -- (TZAssetModelMediaType)getAssetType:(id)asset {  
378 - TZAssetModelMediaType type = TZAssetModelMediaTypePhoto; 377 +- (CNTZAssetModelMediaType)getAssetType:(id)asset {
  378 + CNTZAssetModelMediaType type = CNTZAssetModelMediaTypePhoto;
379 if ([asset isKindOfClass:[PHAsset class]]) { 379 if ([asset isKindOfClass:[PHAsset class]]) {
380 PHAsset *phAsset = (PHAsset *)asset; 380 PHAsset *phAsset = (PHAsset *)asset;
381 - if (phAsset.mediaType == PHAssetMediaTypeVideo) type = TZAssetModelMediaTypeVideo;  
382 - else if (phAsset.mediaType == PHAssetMediaTypeAudio) type = TZAssetModelMediaTypeAudio; 381 + if (phAsset.mediaType == PHAssetMediaTypeVideo) type = CNTZAssetModelMediaTypeVideo;
  382 + else if (phAsset.mediaType == PHAssetMediaTypeAudio) type = CNTZAssetModelMediaTypeAudio;
383 else if (phAsset.mediaType == PHAssetMediaTypeImage) { 383 else if (phAsset.mediaType == PHAssetMediaTypeImage) {
384 if (@available(iOS 9.1, *)) { 384 if (@available(iOS 9.1, *)) {
385 - // if (asset.mediaSubtypes == PHAssetMediaSubtypePhotoLive) type = TZAssetModelMediaTypeLivePhoto; 385 + // if (asset.mediaSubtypes == PHAssetMediaSubtypePhotoLive) type = CNTZAssetModelMediaTypeLivePhoto;
386 } 386 }
387 // Gif 387 // Gif
388 if ([[phAsset valueForKey:@"filename"] hasSuffix:@"GIF"]) { 388 if ([[phAsset valueForKey:@"filename"] hasSuffix:@"GIF"]) {
389 - type = TZAssetModelMediaTypePhotoGif; 389 + type = CNTZAssetModelMediaTypePhotoGif;
390 } 390 }
391 } 391 }
392 } else { 392 } else {
393 if ([[asset valueForProperty:ALAssetPropertyType] isEqualToString:ALAssetTypeVideo]) { 393 if ([[asset valueForProperty:ALAssetPropertyType] isEqualToString:ALAssetTypeVideo]) {
394 - type = TZAssetModelMediaTypeVideo; 394 + type = CNTZAssetModelMediaTypeVideo;
395 } 395 }
396 } 396 }
397 return type; 397 return type;
@@ -424,16 +424,16 @@ static dispatch_once_t onceToken; @@ -424,16 +424,16 @@ static dispatch_once_t onceToken;
424 __block NSInteger dataLength = 0; 424 __block NSInteger dataLength = 0;
425 __block NSInteger assetCount = 0; 425 __block NSInteger assetCount = 0;
426 for (NSInteger i = 0; i < photos.count; i++) { 426 for (NSInteger i = 0; i < photos.count; i++) {
427 - TZAssetModel *model = photos[i]; 427 + CNTZAssetModel *model = photos[i];
428 if ([model.asset isKindOfClass:[PHAsset class]]) { 428 if ([model.asset isKindOfClass:[PHAsset class]]) {
429 PHImageRequestOptions *options = [[PHImageRequestOptions alloc] init]; 429 PHImageRequestOptions *options = [[PHImageRequestOptions alloc] init];
430 options.resizeMode = PHImageRequestOptionsResizeModeFast; 430 options.resizeMode = PHImageRequestOptionsResizeModeFast;
431 options.networkAccessAllowed = YES; 431 options.networkAccessAllowed = YES;
432 - if (model.type == TZAssetModelMediaTypePhotoGif) { 432 + if (model.type == CNTZAssetModelMediaTypePhotoGif) {
433 options.version = PHImageRequestOptionsVersionOriginal; 433 options.version = PHImageRequestOptionsVersionOriginal;
434 } 434 }
435 [[PHImageManager defaultManager] requestImageDataForAsset:model.asset options:options resultHandler:^(NSData *imageData, NSString *dataUTI, UIImageOrientation orientation, NSDictionary *info) { 435 [[PHImageManager defaultManager] requestImageDataForAsset:model.asset options:options resultHandler:^(NSData *imageData, NSString *dataUTI, UIImageOrientation orientation, NSDictionary *info) {
436 - if (model.type != TZAssetModelMediaTypeVideo) dataLength += imageData.length; 436 + if (model.type != CNTZAssetModelMediaTypeVideo) dataLength += imageData.length;
437 assetCount ++; 437 assetCount ++;
438 if (assetCount >= photos.count) { 438 if (assetCount >= photos.count) {
439 NSString *bytes = [self getBytesFromDataLength:dataLength]; 439 NSString *bytes = [self getBytesFromDataLength:dataLength];
@@ -442,7 +442,7 @@ static dispatch_once_t onceToken; @@ -442,7 +442,7 @@ static dispatch_once_t onceToken;
442 }]; 442 }];
443 } else if ([model.asset isKindOfClass:[ALAsset class]]) { 443 } else if ([model.asset isKindOfClass:[ALAsset class]]) {
444 ALAssetRepresentation *representation = [model.asset defaultRepresentation]; 444 ALAssetRepresentation *representation = [model.asset defaultRepresentation];
445 - if (model.type != TZAssetModelMediaTypeVideo) dataLength += (NSInteger)representation.size; 445 + if (model.type != CNTZAssetModelMediaTypeVideo) dataLength += (NSInteger)representation.size;
446 if (i >= photos.count - 1) { 446 if (i >= photos.count - 1) {
447 NSString *bytes = [self getBytesFromDataLength:dataLength]; 447 NSString *bytes = [self getBytesFromDataLength:dataLength];
448 if (completion) completion(bytes); 448 if (completion) completion(bytes);
@@ -467,7 +467,7 @@ static dispatch_once_t onceToken; @@ -467,7 +467,7 @@ static dispatch_once_t onceToken;
467 467
468 /// Get photo 获得照片本身 468 /// Get photo 获得照片本身
469 - (int32_t)getPhotoWithAsset:(id)asset completion:(void (^)(UIImage *, NSDictionary *, BOOL isDegraded))completion { 469 - (int32_t)getPhotoWithAsset:(id)asset completion:(void (^)(UIImage *, NSDictionary *, BOOL isDegraded))completion {
470 - CGFloat fullScreenWidth = TZScreenWidth; 470 + CGFloat fullScreenWidth = CNTZScreenWidth;
471 if (fullScreenWidth > _photoPreviewMaxWidth) { 471 if (fullScreenWidth > _photoPreviewMaxWidth) {
472 fullScreenWidth = _photoPreviewMaxWidth; 472 fullScreenWidth = _photoPreviewMaxWidth;
473 } 473 }
@@ -479,7 +479,7 @@ static dispatch_once_t onceToken; @@ -479,7 +479,7 @@ static dispatch_once_t onceToken;
479 } 479 }
480 480
481 - (int32_t)getPhotoWithAsset:(id)asset completion:(void (^)(UIImage *photo,NSDictionary *info,BOOL isDegraded))completion progressHandler:(void (^)(double progress, NSError *error, BOOL *stop, NSDictionary *info))progressHandler networkAccessAllowed:(BOOL)networkAccessAllowed { 481 - (int32_t)getPhotoWithAsset:(id)asset completion:(void (^)(UIImage *photo,NSDictionary *info,BOOL isDegraded))completion progressHandler:(void (^)(double progress, NSError *error, BOOL *stop, NSDictionary *info))progressHandler networkAccessAllowed:(BOOL)networkAccessAllowed {
482 - CGFloat fullScreenWidth = TZScreenWidth; 482 + CGFloat fullScreenWidth = CNTZScreenWidth;
483 if (fullScreenWidth > _photoPreviewMaxWidth) { 483 if (fullScreenWidth > _photoPreviewMaxWidth) {
484 fullScreenWidth = _photoPreviewMaxWidth; 484 fullScreenWidth = _photoPreviewMaxWidth;
485 } 485 }
@@ -519,12 +519,12 @@ static dispatch_once_t onceToken; @@ -519,12 +519,12 @@ static dispatch_once_t onceToken;
519 - (int32_t)getPhotoWithAsset:(id)asset photoWidth:(CGFloat)photoWidth completion:(void (^)(UIImage *photo,NSDictionary *info,BOOL isDegraded))completion progressHandler:(void (^)(double progress, NSError *error, BOOL *stop, NSDictionary *info))progressHandler networkAccessAllowed:(BOOL)networkAccessAllowed { 519 - (int32_t)getPhotoWithAsset:(id)asset photoWidth:(CGFloat)photoWidth completion:(void (^)(UIImage *photo,NSDictionary *info,BOOL isDegraded))completion progressHandler:(void (^)(double progress, NSError *error, BOOL *stop, NSDictionary *info))progressHandler networkAccessAllowed:(BOOL)networkAccessAllowed {
520 if ([asset isKindOfClass:[PHAsset class]]) { 520 if ([asset isKindOfClass:[PHAsset class]]) {
521 CGSize imageSize; 521 CGSize imageSize;
522 - if (photoWidth < TZScreenWidth && photoWidth < _photoPreviewMaxWidth) { 522 + if (photoWidth < CNTZScreenWidth && photoWidth < _photoPreviewMaxWidth) {
523 imageSize = AssetGridThumbnailSize; 523 imageSize = AssetGridThumbnailSize;
524 } else { 524 } else {
525 PHAsset *phAsset = (PHAsset *)asset; 525 PHAsset *phAsset = (PHAsset *)asset;
526 CGFloat aspectRatio = phAsset.pixelWidth / (CGFloat)phAsset.pixelHeight; 526 CGFloat aspectRatio = phAsset.pixelWidth / (CGFloat)phAsset.pixelHeight;
527 - CGFloat pixelWidth = photoWidth * TZScreenScale * 1.5; 527 + CGFloat pixelWidth = photoWidth * CNTZScreenScale * 1.5;
528 // 超宽图片 528 // 超宽图片
529 if (aspectRatio > 1.8) { 529 if (aspectRatio > 1.8) {
530 pixelWidth = pixelWidth * aspectRatio; 530 pixelWidth = pixelWidth * aspectRatio;
@@ -567,7 +567,7 @@ static dispatch_once_t onceToken; @@ -567,7 +567,7 @@ static dispatch_once_t onceToken;
567 options.resizeMode = PHImageRequestOptionsResizeModeFast; 567 options.resizeMode = PHImageRequestOptionsResizeModeFast;
568 [[PHImageManager defaultManager] requestImageDataForAsset:asset options:options resultHandler:^(NSData *imageData, NSString *dataUTI, UIImageOrientation orientation, NSDictionary *info) { 568 [[PHImageManager defaultManager] requestImageDataForAsset:asset options:options resultHandler:^(NSData *imageData, NSString *dataUTI, UIImageOrientation orientation, NSDictionary *info) {
569 UIImage *resultImage = [UIImage imageWithData:imageData scale:0.1]; 569 UIImage *resultImage = [UIImage imageWithData:imageData scale:0.1];
570 - if (![TZImagePickerConfig sharedInstance].notScaleImage) { 570 + if (![CNTZImagePickerConfig sharedInstance].notScaleImage) {
571 resultImage = [self scaleImage:resultImage toSize:imageSize]; 571 resultImage = [self scaleImage:resultImage toSize:imageSize];
572 } 572 }
573 if (!resultImage) { 573 if (!resultImage) {
@@ -587,7 +587,7 @@ static dispatch_once_t onceToken; @@ -587,7 +587,7 @@ static dispatch_once_t onceToken;
587 dispatch_async(dispatch_get_main_queue(), ^{ 587 dispatch_async(dispatch_get_main_queue(), ^{
588 if (completion) completion(thumbnailImage,nil,YES); 588 if (completion) completion(thumbnailImage,nil,YES);
589 589
590 - if (photoWidth == TZScreenWidth || photoWidth == self->_photoPreviewMaxWidth) { 590 + if (photoWidth == CNTZScreenWidth || photoWidth == self->_photoPreviewMaxWidth) {
591 dispatch_async(dispatch_get_global_queue(0,0), ^{ 591 dispatch_async(dispatch_get_global_queue(0,0), ^{
592 ALAssetRepresentation *assetRep = [alAsset defaultRepresentation]; 592 ALAssetRepresentation *assetRep = [alAsset defaultRepresentation];
593 CGImageRef fullScrennImageRef = [assetRep fullScreenImage]; 593 CGImageRef fullScrennImageRef = [assetRep fullScreenImage];
@@ -605,13 +605,13 @@ static dispatch_once_t onceToken; @@ -605,13 +605,13 @@ static dispatch_once_t onceToken;
605 } 605 }
606 606
607 /// Get postImage / 获取封面图 607 /// Get postImage / 获取封面图
608 -- (void)getPostImageWithAlbumModel:(TZAlbumModel *)model completion:(void (^)(UIImage *))completion { 608 +- (void)getPostImageWithAlbumModel:(CNTZAlbumModel *)model completion:(void (^)(UIImage *))completion {
609 if (iOS8Later) { 609 if (iOS8Later) {
610 id asset = [model.result lastObject]; 610 id asset = [model.result lastObject];
611 if (!self.sortAscendingByModificationDate) { 611 if (!self.sortAscendingByModificationDate) {
612 asset = [model.result firstObject]; 612 asset = [model.result firstObject];
613 } 613 }
614 - [[TZImageManager manager] getPhotoWithAsset:asset photoWidth:80 completion:^(UIImage *photo, NSDictionary *info, BOOL isDegraded) { 614 + [[CNTZImageManager manager] getPhotoWithAsset:asset photoWidth:80 completion:^(UIImage *photo, NSDictionary *info, BOOL isDegraded) {
615 if (photo) {//lxg: 裂图 615 if (photo) {//lxg: 裂图
616 model.isExport = YES; 616 model.isExport = YES;
617 }else{ 617 }else{
@@ -924,7 +924,7 @@ static dispatch_once_t onceToken; @@ -924,7 +924,7 @@ static dispatch_once_t onceToken;
924 [[NSFileManager defaultManager] createDirectoryAtPath:[NSHomeDirectory() stringByAppendingFormat:@"/tmp"] withIntermediateDirectories:YES attributes:nil error:nil]; 924 [[NSFileManager defaultManager] createDirectoryAtPath:[NSHomeDirectory() stringByAppendingFormat:@"/tmp"] withIntermediateDirectories:YES attributes:nil error:nil];
925 } 925 }
926 926
927 - if ([TZImagePickerConfig sharedInstance].needFixComposition) { 927 + if ([CNTZImagePickerConfig sharedInstance].needFixComposition) {
928 AVMutableVideoComposition *videoComposition = [self fixedCompositionWithAsset:videoAsset]; 928 AVMutableVideoComposition *videoComposition = [self fixedCompositionWithAsset:videoAsset];
929 if (videoComposition.renderSize.width) { 929 if (videoComposition.renderSize.width) {
930 // 修正视频转向 930 // 修正视频转向
@@ -1049,8 +1049,8 @@ static dispatch_once_t onceToken; @@ -1049,8 +1049,8 @@ static dispatch_once_t onceToken;
1049 1049
1050 #pragma mark - Private Method 1050 #pragma mark - Private Method
1051 1051
1052 -- (TZAlbumModel *)modelWithResult:(id)result name:(NSString *)name isCameraRoll:(BOOL)isCameraRoll needFetchAssets:(BOOL)needFetchAssets {  
1053 - TZAlbumModel *model = [[TZAlbumModel alloc] init]; 1052 +- (CNTZAlbumModel *)modelWithResult:(id)result name:(NSString *)name isCameraRoll:(BOOL)isCameraRoll needFetchAssets:(BOOL)needFetchAssets {
  1053 + CNTZAlbumModel *model = [[CNTZAlbumModel alloc] init];
1054 [model setResult:result needFetchAssets:needFetchAssets]; 1054 [model setResult:result needFetchAssets:needFetchAssets];
1055 model.name = name; 1055 model.name = name;
1056 model.isCameraRoll = isCameraRoll; 1056 model.isCameraRoll = isCameraRoll;
@@ -1259,10 +1259,10 @@ static dispatch_once_t onceToken; @@ -1259,10 +1259,10 @@ static dispatch_once_t onceToken;
1259 @end 1259 @end
1260 1260
1261 1261
1262 -//@implementation TZSortDescriptor 1262 +//@implementation CNTZSortDescriptor
1263 // 1263 //
1264 //- (id)reversedSortDescriptor { 1264 //- (id)reversedSortDescriptor {
1265 -// return [NSNumber numberWithBool:![TZImageManager manager].sortAscendingByModificationDate]; 1265 +// return [NSNumber numberWithBool:![CNTZImageManager manager].sortAscendingByModificationDate];
1266 //} 1266 //}
1267 // 1267 //
1268 //@end 1268 //@end
CNLiveImagePickerController/Classes/TZImagePickerController.bundle/MMVideoPreviewPlay@2x.png renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/MMVideoPreviewPlay@2x.png

3.56 KB

CNLiveImagePickerController/Classes/TZImagePickerController.bundle/MMVideoPreviewPlayHL@2x.png renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/MMVideoPreviewPlayHL@2x.png

3.56 KB

CNLiveImagePickerController/Classes/TZImagePickerController.bundle/Root.plist renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/Root.plist
CNLiveImagePickerController/Classes/TZImagePickerController.bundle/VideoSendIcon@2x.png renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/VideoSendIcon@2x.png

223 Bytes

CNLiveImagePickerController/Classes/TZImagePickerController.bundle/en.lproj/Localizable.strings renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/en.lproj/Localizable.strings
1 Binary files a/CNLiveImagePickerController/Classes/TZImagePickerController.bundle/en.lproj/Localizable.strings and b/CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/en.lproj/Localizable.strings differ 1 Binary files a/CNLiveImagePickerController/Classes/TZImagePickerController.bundle/en.lproj/Localizable.strings and b/CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/en.lproj/Localizable.strings differ
CNLiveImagePickerController/Classes/TZImagePickerController.bundle/fb_quxiao@2x.png renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/fb_quxiao@2x.png

1.16 KB

CNLiveImagePickerController/Classes/TZImagePickerController.bundle/mjz_bq@2x.png renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/mjz_bq@2x.png

1.23 KB

CNLiveImagePickerController/Classes/TZImagePickerController.bundle/mjz_go@2x.png renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/mjz_go@2x.png

746 Bytes

CNLiveImagePickerController/Classes/TZImagePickerController.bundle/mjz_q@2x.png renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/mjz_q@2x.png

2.77 KB

CNLiveImagePickerController/Classes/TZImagePickerController.bundle/mjz_sq@2x.png renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/mjz_sq@2x.png

1.14 KB

CNLiveImagePickerController/Classes/TZImagePickerController.bundle/mjz_zk@2x.png renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/mjz_zk@2x.png

1.15 KB

CNLiveImagePickerController/Classes/TZImagePickerController.bundle/navi_back@2x.png renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/navi_back@2x.png

116 Bytes

CNLiveImagePickerController/Classes/TZImagePickerController.bundle/ph_back@2x.png renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/ph_back@2x.png

384 Bytes

CNLiveImagePickerController/Classes/TZImagePickerController.bundle/photo_back@2x.png renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/photo_back@2x.png

1.16 KB

CNLiveImagePickerController/Classes/TZImagePickerController.bundle/photo_cell_normal@2x.png renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/photo_cell_normal@2x.png

1.35 KB

CNLiveImagePickerController/Classes/TZImagePickerController.bundle/photo_def_photoPickerVc@2x.png renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/photo_def_photoPickerVc@2x.png

1.13 KB

CNLiveImagePickerController/Classes/TZImagePickerController.bundle/photo_def_previewVc@2x.png renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/photo_def_previewVc@2x.png

1.13 KB

CNLiveImagePickerController/Classes/TZImagePickerController.bundle/photo_enter@2x.png renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/photo_enter@2x.png

268 Bytes

CNLiveImagePickerController/Classes/TZImagePickerController.bundle/photo_number_icon@2x.png renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/photo_number_icon@2x.png

501 Bytes

CNLiveImagePickerController/Classes/TZImagePickerController.bundle/photo_original_def@2x.png renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/photo_original_def@2x.png

1.56 KB

CNLiveImagePickerController/Classes/TZImagePickerController.bundle/photo_original_nor@2x.png renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/photo_original_nor@2x.png

2.12 KB

CNLiveImagePickerController/Classes/TZImagePickerController.bundle/photo_original_normal@2x.png renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/photo_original_normal@2x.png

902 Bytes

CNLiveImagePickerController/Classes/TZImagePickerController.bundle/photo_original_sel@2x.png renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/photo_original_sel@2x.png

620 Bytes

CNLiveImagePickerController/Classes/TZImagePickerController.bundle/photo_original_select@2x.png renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/photo_original_select@2x.png

1.31 KB

CNLiveImagePickerController/Classes/TZImagePickerController.bundle/photo_sel_photoPickerVc@2x.png renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/photo_sel_photoPickerVc@2x.png

1006 Bytes

CNLiveImagePickerController/Classes/TZImagePickerController.bundle/photo_sel_previewVc@2x.png renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/photo_sel_previewVc@2x.png

1.16 KB

CNLiveImagePickerController/Classes/TZImagePickerController.bundle/placeImg@2x.png renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/placeImg@2x.png

4.48 KB

CNLiveImagePickerController/Classes/TZImagePickerController.bundle/preview_number_icon@2x.png renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/preview_number_icon@2x.png

501 Bytes

CNLiveImagePickerController/Classes/TZImagePickerController.bundle/preview_original_def@2x.png renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/preview_original_def@2x.png

392 Bytes

CNLiveImagePickerController/Classes/TZImagePickerController.bundle/publish_zw@2x.png renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/publish_zw@2x.png

7.66 KB

CNLiveImagePickerController/Classes/TZImagePickerController.bundle/takePicture80@2x.png renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/takePicture80@2x.png

1.25 KB

CNLiveImagePickerController/Classes/TZImagePickerController.bundle/takePicture@2x.png renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/takePicture@2x.png

2.98 KB

CNLiveImagePickerController/Classes/TZImagePickerController.bundle/upload_selection1@2x.png renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/upload_selection1@2x.png

1.35 KB

CNLiveImagePickerController/Classes/TZImagePickerController.bundle/vi.lproj/Localizable.strings renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/vi.lproj/Localizable.strings
CNLiveImagePickerController/Classes/TZImagePickerController.bundle/video_edit_left@2x.png renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/video_edit_left@2x.png

203 Bytes

CNLiveImagePickerController/Classes/TZImagePickerController.bundle/video_edit_right@2x.png renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/video_edit_right@2x.png

208 Bytes

CNLiveImagePickerController/Classes/TZImagePickerController.bundle/xzq_fh@2x.png renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/xzq_fh@2x.png

1.71 KB

CNLiveImagePickerController/Classes/TZImagePickerController.bundle/zh-Hans.lproj/Localizable.strings renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/zh-Hans.lproj/Localizable.strings
1 Binary files a/CNLiveImagePickerController/Classes/TZImagePickerController.bundle/zh-Hans.lproj/Localizable.strings and b/CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/zh-Hans.lproj/Localizable.strings differ 1 Binary files a/CNLiveImagePickerController/Classes/TZImagePickerController.bundle/zh-Hans.lproj/Localizable.strings and b/CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/zh-Hans.lproj/Localizable.strings differ
CNLiveImagePickerController/Classes/TZImagePickerController.bundle/zh-Hant.lproj/Localizable.strings renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/zh-Hant.lproj/Localizable.strings
1 Binary files a/CNLiveImagePickerController/Classes/TZImagePickerController.bundle/zh-Hant.lproj/Localizable.strings and b/CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/zh-Hant.lproj/Localizable.strings differ 1 Binary files a/CNLiveImagePickerController/Classes/TZImagePickerController.bundle/zh-Hant.lproj/Localizable.strings and b/CNLiveImagePickerController/Classes/CNTZImagePickerController.bundle/zh-Hant.lproj/Localizable.strings differ
CNLiveImagePickerController/Classes/TZImagePickerController.h renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.h
1 // 1 //
2 -// TZImagePickerController.h  
3 -// TZImagePickerController 2 +// CNTZImagePickerController.h
  3 +// CNTZImagePickerController
4 // 4 //
5 // Created by 谭真 on 15/12/24. 5 // Created by 谭真 on 15/12/24.
6 // Copyright © 2015年 谭真. All rights reserved. 6 // Copyright © 2015年 谭真. All rights reserved.
7 // version 2.2.6 - 2018.08.21 7 // version 2.2.6 - 2018.08.21
8 -// 更多信息,请前往项目的github地址:https://github.com/banchichen/TZImagePickerController 8 +// 更多信息,请前往项目的github地址:https://github.com/banchichen/CNTZImagePickerController
9 9
10 /* 10 /*
11 - 经过测试,比起xib的方式,把TZAssetCell改用纯代码的方式来写,滑动帧数明显提高了(约提高10帧左右) 11 + 经过测试,比起xib的方式,把CNTZAssetCell改用纯代码的方式来写,滑动帧数明显提高了(约提高10帧左右)
12 12
13 最初发现这个问题并修复的是@小鱼周凌宇同学,她的博客地址: http://zhoulingyu.com/ 13 最初发现这个问题并修复的是@小鱼周凌宇同学,她的博客地址: http://zhoulingyu.com/
14 表示感谢~ 14 表示感谢~
@@ -17,13 +17,13 @@ @@ -17,13 +17,13 @@
17 */ 17 */
18 18
19 #import <UIKit/UIKit.h> 19 #import <UIKit/UIKit.h>
20 -#import "TZAssetModel.h"  
21 -#import "NSBundle+TZImagePicker.h"  
22 -#import "TZImageManager.h"  
23 -#import "TZVideoPlayerController.h"  
24 -#import "TZGifPhotoPreviewController.h"  
25 -#import "TZLocationManager.h"  
26 -#import "TZPhotoPreviewController.h" 20 +#import "CNTZAssetModel.h"
  21 +#import "NSBundle+CNTZImagePicker.h"
  22 +#import "CNTZImageManager.h"
  23 +#import "CNTZVideoPlayerController.h"
  24 +#import "CNTZGifPhotoPreviewController.h"
  25 +#import "CNTZLocationManager.h"
  26 +#import "CNTZPhotoPreviewController.h"
27 27
28 #define iOS7Later ([UIDevice currentDevice].systemVersion.floatValue >= 7.0f) 28 #define iOS7Later ([UIDevice currentDevice].systemVersion.floatValue >= 7.0f)
29 #define iOS8Later ([UIDevice currentDevice].systemVersion.floatValue >= 8.0f) 29 #define iOS8Later ([UIDevice currentDevice].systemVersion.floatValue >= 8.0f)
@@ -31,15 +31,15 @@ @@ -31,15 +31,15 @@
31 #define iOS9Later ([UIDevice currentDevice].systemVersion.floatValue >= 9.0f) 31 #define iOS9Later ([UIDevice currentDevice].systemVersion.floatValue >= 9.0f)
32 #define iOS9_1Later ([UIDevice currentDevice].systemVersion.floatValue >= 9.1f) 32 #define iOS9_1Later ([UIDevice currentDevice].systemVersion.floatValue >= 9.1f)
33 33
34 -@class TZAlbumCell, TZAssetCell;  
35 -@protocol TZImagePickerControllerDelegate;  
36 -@interface TZImagePickerController : UINavigationController 34 +@class CNTZAlbumCell, CNTZAssetCell;
  35 +@protocol CNTZImagePickerControllerDelegate;
  36 +@interface CNTZImagePickerController : UINavigationController
37 37
38 #pragma mark - 38 #pragma mark -
39 /// Use this init method / 用这个初始化方法 39 /// Use this init method / 用这个初始化方法
40 -- (instancetype)initWithMaxImagesCount:(NSInteger)maxImagesCount delegate:(id<TZImagePickerControllerDelegate>)delegate;  
41 -- (instancetype)initWithMaxImagesCount:(NSInteger)maxImagesCount columnNumber:(NSInteger)columnNumber delegate:(id<TZImagePickerControllerDelegate>)delegate;  
42 -- (instancetype)initWithMaxImagesCount:(NSInteger)maxImagesCount columnNumber:(NSInteger)columnNumber delegate:(id<TZImagePickerControllerDelegate>)delegate pushPhotoPickerVc:(BOOL)pushPhotoPickerVc; 40 +- (instancetype)initWithMaxImagesCount:(NSInteger)maxImagesCount delegate:(id<CNTZImagePickerControllerDelegate>)delegate;
  41 +- (instancetype)initWithMaxImagesCount:(NSInteger)maxImagesCount columnNumber:(NSInteger)columnNumber delegate:(id<CNTZImagePickerControllerDelegate>)delegate;
  42 +- (instancetype)initWithMaxImagesCount:(NSInteger)maxImagesCount columnNumber:(NSInteger)columnNumber delegate:(id<CNTZImagePickerControllerDelegate>)delegate pushPhotoPickerVc:(BOOL)pushPhotoPickerVc;
43 /// This init method just for previewing photos / 用这个初始化方法以预览图片 43 /// This init method just for previewing photos / 用这个初始化方法以预览图片
44 - (instancetype)initWithSelectedAssets:(NSMutableArray *)selectedAssets selectedPhotos:(NSMutableArray *)selectedPhotos index:(NSInteger)index; 44 - (instancetype)initWithSelectedAssets:(NSMutableArray *)selectedAssets selectedPhotos:(NSMutableArray *)selectedPhotos index:(NSInteger)index;
45 /// This init method for crop photo / 用这个初始化方法以裁剪图片 45 /// This init method for crop photo / 用这个初始化方法以裁剪图片
@@ -166,10 +166,10 @@ @@ -166,10 +166,10 @@
166 /// The photos user have selected 166 /// The photos user have selected
167 /// 用户选中过的图片数组 167 /// 用户选中过的图片数组
168 @property (nonatomic, strong) NSMutableArray *selectedAssets; 168 @property (nonatomic, strong) NSMutableArray *selectedAssets;
169 -@property (nonatomic, strong) NSMutableArray<TZAssetModel *> *selectedModels; 169 +@property (nonatomic, strong) NSMutableArray<CNTZAssetModel *> *selectedModels;
170 @property (nonatomic, strong) NSMutableArray *selectedAssetIds; 170 @property (nonatomic, strong) NSMutableArray *selectedAssetIds;
171 -- (void)addSelectedModel:(TZAssetModel *)model;  
172 -- (void)removeSelectedModel:(TZAssetModel *)model; 171 +- (void)addSelectedModel:(CNTZAssetModel *)model;
  172 +- (void)removeSelectedModel:(CNTZAssetModel *)model;
173 173
174 /// Minimum selectable photo width, Default is 0 174 /// Minimum selectable photo width, Default is 0
175 /// 最小可选中的图片宽度,默认是0,小于这个宽度的图片不可选中 175 /// 最小可选中的图片宽度,默认是0,小于这个宽度的图片不可选中
@@ -201,15 +201,15 @@ @@ -201,15 +201,15 @@
201 @property (nonatomic, copy) void (^photoPreviewPageUIConfigBlock)(UICollectionView *collectionView, UIView *naviBar, UIButton *backButton, UIButton *selectButton, UILabel *indexLabel, UIView *toolBar, UIButton *originalPhotoButton, UILabel *originalPhotoLabel, UIButton *doneButton, UIImageView *numberImageView, UILabel *numberLabel); 201 @property (nonatomic, copy) void (^photoPreviewPageUIConfigBlock)(UICollectionView *collectionView, UIView *naviBar, UIButton *backButton, UIButton *selectButton, UILabel *indexLabel, UIView *toolBar, UIButton *originalPhotoButton, UILabel *originalPhotoLabel, UIButton *doneButton, UIImageView *numberImageView, UILabel *numberLabel);
202 @property (nonatomic, copy) void (^videoPreviewPageUIConfigBlock)(UIButton *playButton, UIView *toolBar, UIButton *doneButton); 202 @property (nonatomic, copy) void (^videoPreviewPageUIConfigBlock)(UIButton *playButton, UIView *toolBar, UIButton *doneButton);
203 @property (nonatomic, copy) void (^gifPreviewPageUIConfigBlock)(UIView *toolBar, UIButton *doneButton); 203 @property (nonatomic, copy) void (^gifPreviewPageUIConfigBlock)(UIView *toolBar, UIButton *doneButton);
204 -@property (nonatomic, copy) void (^assetCellDidSetModelBlock)(TZAssetCell *cell, UIImageView *imageView, UIImageView *selectImageView, UILabel *indexLabel, UIView *bottomView, UILabel *timeLength, UIImageView *videoImgView);  
205 -@property (nonatomic, copy) void (^albumCellDidSetModelBlock)(TZAlbumCell *cell, UIImageView *posterImageView, UILabel *titleLabel); 204 +@property (nonatomic, copy) void (^assetCellDidSetModelBlock)(CNTZAssetCell *cell, UIImageView *imageView, UIImageView *selectImageView, UILabel *indexLabel, UIView *bottomView, UILabel *timeLength, UIImageView *videoImgView);
  205 +@property (nonatomic, copy) void (^albumCellDidSetModelBlock)(CNTZAlbumCell *cell, UIImageView *posterImageView, UILabel *titleLabel);
206 /// 【自定义各页面/组件的frame】在界面viewDidLayoutSubviews/组件layoutSubviews后调用,允许外界修改frame等 206 /// 【自定义各页面/组件的frame】在界面viewDidLayoutSubviews/组件layoutSubviews后调用,允许外界修改frame等
207 @property (nonatomic, copy) void (^photoPickerPageDidLayoutSubviewsBlock)(UICollectionView *collectionView, UIView *bottomToolBar, UIButton *previewButton, UIButton *originalPhotoButton, UILabel *originalPhotoLabel, UIButton *doneButton, UIImageView *numberImageView, UILabel *numberLabel, UIView *divideLine); 207 @property (nonatomic, copy) void (^photoPickerPageDidLayoutSubviewsBlock)(UICollectionView *collectionView, UIView *bottomToolBar, UIButton *previewButton, UIButton *originalPhotoButton, UILabel *originalPhotoLabel, UIButton *doneButton, UIImageView *numberImageView, UILabel *numberLabel, UIView *divideLine);
208 @property (nonatomic, copy) void (^photoPreviewPageDidLayoutSubviewsBlock)(UICollectionView *collectionView, UIView *naviBar, UIButton *backButton, UIButton *selectButton, UILabel *indexLabel, UIView *toolBar, UIButton *originalPhotoButton, UILabel *originalPhotoLabel, UIButton *doneButton, UIImageView *numberImageView, UILabel *numberLabel); 208 @property (nonatomic, copy) void (^photoPreviewPageDidLayoutSubviewsBlock)(UICollectionView *collectionView, UIView *naviBar, UIButton *backButton, UIButton *selectButton, UILabel *indexLabel, UIView *toolBar, UIButton *originalPhotoButton, UILabel *originalPhotoLabel, UIButton *doneButton, UIImageView *numberImageView, UILabel *numberLabel);
209 @property (nonatomic, copy) void (^videoPreviewPageDidLayoutSubviewsBlock)(UIButton *playButton, UIView *toolBar, UIButton *doneButton); 209 @property (nonatomic, copy) void (^videoPreviewPageDidLayoutSubviewsBlock)(UIButton *playButton, UIView *toolBar, UIButton *doneButton);
210 @property (nonatomic, copy) void (^gifPreviewPageDidLayoutSubviewsBlock)(UIView *toolBar, UIButton *doneButton); 210 @property (nonatomic, copy) void (^gifPreviewPageDidLayoutSubviewsBlock)(UIView *toolBar, UIButton *doneButton);
211 -@property (nonatomic, copy) void (^assetCellDidLayoutSubviewsBlock)(TZAssetCell *cell, UIImageView *imageView, UIImageView *selectImageView, UILabel *indexLabel, UIView *bottomView, UILabel *timeLength, UIImageView *videoImgView);  
212 -@property (nonatomic, copy) void (^albumCellDidLayoutSubviewsBlock)(TZAlbumCell *cell, UIImageView *posterImageView, UILabel *titleLabel); 211 +@property (nonatomic, copy) void (^assetCellDidLayoutSubviewsBlock)(CNTZAssetCell *cell, UIImageView *imageView, UIImageView *selectImageView, UILabel *indexLabel, UIView *bottomView, UILabel *timeLength, UIImageView *videoImgView);
  212 +@property (nonatomic, copy) void (^albumCellDidLayoutSubviewsBlock)(CNTZAlbumCell *cell, UIImageView *posterImageView, UILabel *titleLabel);
213 213
214 #pragma mark - 214 #pragma mark -
215 - (id)showAlertWithTitle:(NSString *)title; 215 - (id)showAlertWithTitle:(NSString *)title;
@@ -266,19 +266,19 @@ @@ -266,19 +266,19 @@
266 // The picker should dismiss itself; when it dismissed these handle will be called. 266 // The picker should dismiss itself; when it dismissed these handle will be called.
267 // You can also set autoDismiss to NO, then the picker don't dismiss itself. 267 // You can also set autoDismiss to NO, then the picker don't dismiss itself.
268 // If isOriginalPhoto is YES, user picked the original photo. 268 // If isOriginalPhoto is YES, user picked the original photo.
269 -// You can get original photo with asset, by the method [[TZImageManager manager] getOriginalPhotoWithAsset:completion:]. 269 +// You can get original photo with asset, by the method [[CNTZImageManager manager] getOriginalPhotoWithAsset:completion:].
270 // The UIImage Object in photos default width is 828px, you can set it by photoWidth property. 270 // The UIImage Object in photos default width is 828px, you can set it by photoWidth property.
271 // 这个照片选择器会自己dismiss,当选择器dismiss的时候,会执行下面的handle 271 // 这个照片选择器会自己dismiss,当选择器dismiss的时候,会执行下面的handle
272 // 你也可以设置autoDismiss属性为NO,选择器就不会自己dismis了 272 // 你也可以设置autoDismiss属性为NO,选择器就不会自己dismis了
273 // 如果isSelectOriginalPhoto为YES,表明用户选择了原图 273 // 如果isSelectOriginalPhoto为YES,表明用户选择了原图
274 -// 你可以通过一个asset获得原图,通过这个方法:[[TZImageManager manager] getOriginalPhotoWithAsset:completion:] 274 +// 你可以通过一个asset获得原图,通过这个方法:[[CNTZImageManager manager] getOriginalPhotoWithAsset:completion:]
275 // photos数组里的UIImage对象,默认是828像素宽,你可以通过设置photoWidth属性的值来改变它 275 // photos数组里的UIImage对象,默认是828像素宽,你可以通过设置photoWidth属性的值来改变它
276 @property (nonatomic, copy) void (^didFinishPickingPhotosHandle)(NSArray<UIImage *> *photos,NSArray *assets,BOOL isSelectOriginalPhoto); 276 @property (nonatomic, copy) void (^didFinishPickingPhotosHandle)(NSArray<UIImage *> *photos,NSArray *assets,BOOL isSelectOriginalPhoto);
277 @property (nonatomic, copy) void (^didFinishPickingPhotosWithInfosHandle)(NSArray<UIImage *> *photos,NSArray *assets,BOOL isSelectOriginalPhoto,NSArray<NSDictionary *> *infos); 277 @property (nonatomic, copy) void (^didFinishPickingPhotosWithInfosHandle)(NSArray<UIImage *> *photos,NSArray *assets,BOOL isSelectOriginalPhoto,NSArray<NSDictionary *> *infos);
278 @property (nonatomic, copy) void (^imagePickerControllerDidCancelHandle)(void); 278 @property (nonatomic, copy) void (^imagePickerControllerDidCancelHandle)(void);
279 279
280 #pragma mark - LXG: 视频导出URL 280 #pragma mark - LXG: 视频导出URL
281 -@property (nonatomic, copy) void (^didNewFinishPickingPhotosHandle) (NSArray<UIImage *> *photos,NSArray<TZAssetModel *> *models,NSArray *assets,BOOL isSelectOriginalPhoto); 281 +@property (nonatomic, copy) void (^didNewFinishPickingPhotosHandle) (NSArray<UIImage *> *photos,NSArray<CNTZAssetModel *> *models,NSArray *assets,BOOL isSelectOriginalPhoto);
282 282
283 283
284 // If user picking a video, this handle will be called. 284 // If user picking a video, this handle will be called.
@@ -291,37 +291,37 @@ @@ -291,37 +291,37 @@
291 // 如果用户选择了一个gif图片,下面的handle会被执行 291 // 如果用户选择了一个gif图片,下面的handle会被执行
292 @property (nonatomic, copy) void (^didFinishPickingGifImageHandle)(UIImage *animatedImage,id sourceAssets); 292 @property (nonatomic, copy) void (^didFinishPickingGifImageHandle)(UIImage *animatedImage,id sourceAssets);
293 293
294 -@property (nonatomic, weak) id<TZImagePickerControllerDelegate> pickerDelegate; 294 +@property (nonatomic, weak) id<CNTZImagePickerControllerDelegate> pickerDelegate;
295 295
296 @end 296 @end
297 297
298 298
299 -@protocol TZImagePickerControllerDelegate <NSObject> 299 +@protocol CNTZImagePickerControllerDelegate <NSObject>
300 @optional 300 @optional
301 // The picker should dismiss itself; when it dismissed these handle will be called. 301 // The picker should dismiss itself; when it dismissed these handle will be called.
302 // You can also set autoDismiss to NO, then the picker don't dismiss itself. 302 // You can also set autoDismiss to NO, then the picker don't dismiss itself.
303 // If isOriginalPhoto is YES, user picked the original photo. 303 // If isOriginalPhoto is YES, user picked the original photo.
304 -// You can get original photo with asset, by the method [[TZImageManager manager] getOriginalPhotoWithAsset:completion:]. 304 +// You can get original photo with asset, by the method [[CNTZImageManager manager] getOriginalPhotoWithAsset:completion:].
305 // The UIImage Object in photos default width is 828px, you can set it by photoWidth property. 305 // The UIImage Object in photos default width is 828px, you can set it by photoWidth property.
306 // 这个照片选择器会自己dismiss,当选择器dismiss的时候,会执行下面的handle 306 // 这个照片选择器会自己dismiss,当选择器dismiss的时候,会执行下面的handle
307 // 你也可以设置autoDismiss属性为NO,选择器就不会自己dismis了 307 // 你也可以设置autoDismiss属性为NO,选择器就不会自己dismis了
308 // 如果isSelectOriginalPhoto为YES,表明用户选择了原图 308 // 如果isSelectOriginalPhoto为YES,表明用户选择了原图
309 -// 你可以通过一个asset获得原图,通过这个方法:[[TZImageManager manager] getOriginalPhotoWithAsset:completion:] 309 +// 你可以通过一个asset获得原图,通过这个方法:[[CNTZImageManager manager] getOriginalPhotoWithAsset:completion:]
310 // photos数组里的UIImage对象,默认是828像素宽,你可以通过设置photoWidth属性的值来改变它 310 // photos数组里的UIImage对象,默认是828像素宽,你可以通过设置photoWidth属性的值来改变它
311 -- (void)imagePickerController:(TZImagePickerController *)picker didFinishPickingPhotos:(NSArray<UIImage *> *)photos sourceAssets:(NSArray *)assets isSelectOriginalPhoto:(BOOL)isSelectOriginalPhoto;  
312 -- (void)imagePickerController:(TZImagePickerController *)picker didFinishPickingPhotos:(NSArray<UIImage *> *)photos sourceAssets:(NSArray *)assets isSelectOriginalPhoto:(BOOL)isSelectOriginalPhoto infos:(NSArray<NSDictionary *> *)infos;  
313 -//- (void)imagePickerControllerDidCancel:(TZImagePickerController *)picker __attribute__((deprecated("Use -tz_imagePickerControllerDidCancel:.")));  
314 -- (void)tz_imagePickerControllerDidCancel:(TZImagePickerController *)picker; 311 +- (void)imagePickerController:(CNTZImagePickerController *)picker didFinishPickingPhotos:(NSArray<UIImage *> *)photos sourceAssets:(NSArray *)assets isSelectOriginalPhoto:(BOOL)isSelectOriginalPhoto;
  312 +- (void)imagePickerController:(CNTZImagePickerController *)picker didFinishPickingPhotos:(NSArray<UIImage *> *)photos sourceAssets:(NSArray *)assets isSelectOriginalPhoto:(BOOL)isSelectOriginalPhoto infos:(NSArray<NSDictionary *> *)infos;
  313 +//- (void)imagePickerControllerDidCancel:(CNTZImagePickerController *)picker __attribute__((deprecated("Use -CNTZ_imagePickerControllerDidCancel:.")));
  314 +- (void)CNTZ_imagePickerControllerDidCancel:(CNTZImagePickerController *)picker;
315 315
316 // If user picking a video, this callback will be called. 316 // If user picking a video, this callback will be called.
317 // If system version > iOS8,asset is kind of PHAsset class, else is ALAsset class. 317 // If system version > iOS8,asset is kind of PHAsset class, else is ALAsset class.
318 // 如果用户选择了一个视频,下面的handle会被执行 318 // 如果用户选择了一个视频,下面的handle会被执行
319 // 如果系统版本大于iOS8,asset是PHAsset类的对象,否则是ALAsset类的对象 319 // 如果系统版本大于iOS8,asset是PHAsset类的对象,否则是ALAsset类的对象
320 -- (void)imagePickerController:(TZImagePickerController *)picker didFinishPickingVideo:(UIImage *)coverImage sourceAssets:(id)asset; 320 +- (void)imagePickerController:(CNTZImagePickerController *)picker didFinishPickingVideo:(UIImage *)coverImage sourceAssets:(id)asset;
321 321
322 // If user picking a gif image, this callback will be called. 322 // If user picking a gif image, this callback will be called.
323 // 如果用户选择了一个gif图片,下面的handle会被执行 323 // 如果用户选择了一个gif图片,下面的handle会被执行
324 -- (void)imagePickerController:(TZImagePickerController *)picker didFinishPickingGifImage:(UIImage *)animatedImage sourceAssets:(id)asset; 324 +- (void)imagePickerController:(CNTZImagePickerController *)picker didFinishPickingGifImage:(UIImage *)animatedImage sourceAssets:(id)asset;
325 325
326 // Decide album show or not't 326 // Decide album show or not't
327 // 决定相册显示与否 albumName:相册名字 result:相册原始数据 327 // 决定相册显示与否 albumName:相册名字 result:相册原始数据
@@ -333,7 +333,7 @@ @@ -333,7 +333,7 @@
333 @end 333 @end
334 334
335 335
336 -@interface TZAlbumPickerController : UIViewController 336 +@interface CNTZAlbumPickerController : UIViewController
337 @property (nonatomic, assign) NSInteger columnNumber; 337 @property (nonatomic, assign) NSInteger columnNumber;
338 @property (assign, nonatomic) BOOL isFirstAppear; 338 @property (assign, nonatomic) BOOL isFirstAppear;
339 - (void)configTableView; 339 - (void)configTableView;
@@ -345,21 +345,21 @@ @@ -345,21 +345,21 @@
345 @end 345 @end
346 346
347 347
348 -@interface NSString (TzExtension)  
349 -- (BOOL)tz_containsString:(NSString *)string;  
350 -- (CGSize)tz_calculateSizeWithAttributes:(NSDictionary *)attributes maxSize:(CGSize)maxSize; 348 +@interface NSString (CNTZExtension)
  349 +- (BOOL)CNTZ_containsString:(NSString *)string;
  350 +- (CGSize)CNTZ_calculateSizeWithAttributes:(NSDictionary *)attributes maxSize:(CGSize)maxSize;
351 @end 351 @end
352 352
353 353
354 -@interface TZCommonTools : NSObject  
355 -+ (BOOL)tz_isIPhoneX;  
356 -+ (CGFloat)tz_statusBarHeight; 354 +@interface CNTZCommonTools : NSObject
  355 ++ (BOOL)CNTZ_isIPhoneX;
  356 ++ (CGFloat)CNTZ_statusBarHeight;
357 // 获得Info.plist数据字典 357 // 获得Info.plist数据字典
358 -+ (NSDictionary *)tz_getInfoDictionary; 358 ++ (NSDictionary *)CNTZ_getInfoDictionary;
359 @end 359 @end
360 360
361 361
362 -@interface TZImagePickerConfig : NSObject 362 +@interface CNTZImagePickerConfig : NSObject
363 + (instancetype)sharedInstance; 363 + (instancetype)sharedInstance;
364 @property (copy, nonatomic) NSString *preferredLanguage; 364 @property (copy, nonatomic) NSString *preferredLanguage;
365 @property(nonatomic, assign) BOOL allowPickingImage; 365 @property(nonatomic, assign) BOOL allowPickingImage;
CNLiveImagePickerController/Classes/TZImagePickerController.m renamed to CNLiveImagePickerController/Classes/CNTZImagePickerController.m
1 // 1 //
2 -// TZImagePickerController.m  
3 -// TZImagePickerController 2 +// CNTZImagePickerController.m
  3 +// CNTZImagePickerController
4 // 4 //
5 // Created by 谭真 on 15/12/24. 5 // Created by 谭真 on 15/12/24.
6 // Copyright © 2015年 谭真. All rights reserved. 6 // Copyright © 2015年 谭真. All rights reserved.
7 // version 2.2.6 - 2018.08.21 7 // version 2.2.6 - 2018.08.21
8 -// 更多信息,请前往项目的github地址:https://github.com/banchichen/TZImagePickerController  
9 -  
10 -#import "TZImagePickerController.h"  
11 -#import "TZPhotoPickerController.h"  
12 -#import "TZPhotoPreviewController.h"  
13 -#import "TZAssetModel.h"  
14 -#import "TZAssetCell.h"  
15 -#import "UIView+TZLayout.h"  
16 -#import "TZImageManager.h" 8 +// 更多信息,请前往项目的github地址:https://github.com/banchichen/CNTZImagePickerController
  9 +
  10 +#import "CNTZImagePickerController.h"
  11 +#import "CNTZPhotoPickerController.h"
  12 +#import "CNTZPhotoPreviewController.h"
  13 +#import "CNTZAssetModel.h"
  14 +#import "CNTZAssetCell.h"
  15 +#import "UIView+CNTZLayout.h"
  16 +#import "CNTZImageManager.h"
17 #import <sys/utsname.h> 17 #import <sys/utsname.h>
18 18
19 -@interface TZImagePickerController () { 19 +@interface CNTZImagePickerController () {
20 NSTimer *_timer; 20 NSTimer *_timer;
21 UILabel *_tipLabel; 21 UILabel *_tipLabel;
22 UIButton *_settingBtn; 22 UIButton *_settingBtn;
@@ -30,12 +30,12 @@ @@ -30,12 +30,12 @@
30 30
31 UIStatusBarStyle _originStatusBarStyle; 31 UIStatusBarStyle _originStatusBarStyle;
32 } 32 }
33 -/// Default is 4, Use in photos collectionView in TZPhotoPickerController  
34 -/// 默认4列, TZPhotoPickerController中的照片collectionView 33 +/// Default is 4, Use in photos collectionView in CNTZPhotoPickerController
  34 +/// 默认4列, CNTZPhotoPickerController中的照片collectionView
35 @property (nonatomic, assign) NSInteger columnNumber; 35 @property (nonatomic, assign) NSInteger columnNumber;
36 @end 36 @end
37 37
38 -@implementation TZImagePickerController 38 +@implementation CNTZImagePickerController
39 39
40 - (instancetype)init { 40 - (instancetype)init {
41 self = [super init]; 41 self = [super init];
@@ -53,7 +53,7 @@ @@ -53,7 +53,7 @@
53 self.view.backgroundColor = [UIColor whiteColor]; 53 self.view.backgroundColor = [UIColor whiteColor];
54 self.navigationBar.barStyle = UIBarStyleBlack; 54 self.navigationBar.barStyle = UIBarStyleBlack;
55 self.navigationBar.translucent = YES; 55 self.navigationBar.translucent = YES;
56 - [TZImageManager manager].shouldFixOrientation = NO; 56 + [CNTZImageManager manager].shouldFixOrientation = NO;
57 57
58 // Default appearance, you can reset these after this method 58 // Default appearance, you can reset these after this method
59 // 默认的外观,你可以在这个方法后重置 59 // 默认的外观,你可以在这个方法后重置
@@ -120,9 +120,9 @@ @@ -120,9 +120,9 @@
120 - (void)configBarButtonItemAppearance { 120 - (void)configBarButtonItemAppearance {
121 UIBarButtonItem *barItem; 121 UIBarButtonItem *barItem;
122 if (@available(iOS 9, *)) { 122 if (@available(iOS 9, *)) {
123 - barItem = [UIBarButtonItem appearanceWhenContainedInInstancesOfClasses:@[[TZImagePickerController class]]]; 123 + barItem = [UIBarButtonItem appearanceWhenContainedInInstancesOfClasses:@[[CNTZImagePickerController class]]];
124 } else { 124 } else {
125 - barItem = [UIBarButtonItem appearanceWhenContainedIn:[TZImagePickerController class], nil]; 125 + barItem = [UIBarButtonItem appearanceWhenContainedIn:[CNTZImagePickerController class], nil];
126 } 126 }
127 NSMutableDictionary *textAttrs = [NSMutableDictionary dictionary]; 127 NSMutableDictionary *textAttrs = [NSMutableDictionary dictionary];
128 textAttrs[NSForegroundColorAttributeName] = self.barItemTextColor; 128 textAttrs[NSForegroundColorAttributeName] = self.barItemTextColor;
@@ -146,17 +146,17 @@ @@ -146,17 +146,17 @@
146 return self.statusBarStyle; 146 return self.statusBarStyle;
147 } 147 }
148 148
149 -- (instancetype)initWithMaxImagesCount:(NSInteger)maxImagesCount delegate:(id<TZImagePickerControllerDelegate>)delegate { 149 +- (instancetype)initWithMaxImagesCount:(NSInteger)maxImagesCount delegate:(id<CNTZImagePickerControllerDelegate>)delegate {
150 return [self initWithMaxImagesCount:maxImagesCount columnNumber:4 delegate:delegate pushPhotoPickerVc:YES]; 150 return [self initWithMaxImagesCount:maxImagesCount columnNumber:4 delegate:delegate pushPhotoPickerVc:YES];
151 } 151 }
152 152
153 -- (instancetype)initWithMaxImagesCount:(NSInteger)maxImagesCount columnNumber:(NSInteger)columnNumber delegate:(id<TZImagePickerControllerDelegate>)delegate { 153 +- (instancetype)initWithMaxImagesCount:(NSInteger)maxImagesCount columnNumber:(NSInteger)columnNumber delegate:(id<CNTZImagePickerControllerDelegate>)delegate {
154 return [self initWithMaxImagesCount:maxImagesCount columnNumber:columnNumber delegate:delegate pushPhotoPickerVc:YES]; 154 return [self initWithMaxImagesCount:maxImagesCount columnNumber:columnNumber delegate:delegate pushPhotoPickerVc:YES];
155 } 155 }
156 156
157 -- (instancetype)initWithMaxImagesCount:(NSInteger)maxImagesCount columnNumber:(NSInteger)columnNumber delegate:(id<TZImagePickerControllerDelegate>)delegate pushPhotoPickerVc:(BOOL)pushPhotoPickerVc { 157 +- (instancetype)initWithMaxImagesCount:(NSInteger)maxImagesCount columnNumber:(NSInteger)columnNumber delegate:(id<CNTZImagePickerControllerDelegate>)delegate pushPhotoPickerVc:(BOOL)pushPhotoPickerVc {
158 _pushPhotoPickerVc = pushPhotoPickerVc; 158 _pushPhotoPickerVc = pushPhotoPickerVc;
159 - TZAlbumPickerController *albumPickerVc = [[TZAlbumPickerController alloc] init]; 159 + CNTZAlbumPickerController *albumPickerVc = [[CNTZAlbumPickerController alloc] init];
160 albumPickerVc.isFirstAppear = YES; 160 albumPickerVc.isFirstAppear = YES;
161 albumPickerVc.columnNumber = columnNumber; 161 albumPickerVc.columnNumber = columnNumber;
162 self = [super initWithRootViewController:albumPickerVc]; 162 self = [super initWithRootViewController:albumPickerVc];
@@ -184,31 +184,31 @@ @@ -184,31 +184,31 @@
184 self.columnNumber = columnNumber; 184 self.columnNumber = columnNumber;
185 [self configDefaultSetting]; 185 [self configDefaultSetting];
186 186
187 - if (![[TZImageManager manager] authorizationStatusAuthorized]) { 187 + if (![[CNTZImageManager manager] authorizationStatusAuthorized]) {
188 _tipLabel = [[UILabel alloc] init]; 188 _tipLabel = [[UILabel alloc] init];
189 - _tipLabel.frame = CGRectMake(8, 120, self.view.tz_width - 16, 60); 189 + _tipLabel.frame = CGRectMake(8, 120, self.view.CNTZ_width - 16, 60);
190 _tipLabel.textAlignment = NSTextAlignmentCenter; 190 _tipLabel.textAlignment = NSTextAlignmentCenter;
191 _tipLabel.numberOfLines = 0; 191 _tipLabel.numberOfLines = 0;
192 _tipLabel.font = [UIFont systemFontOfSize:16]; 192 _tipLabel.font = [UIFont systemFontOfSize:16];
193 _tipLabel.textColor = [UIColor blackColor]; 193 _tipLabel.textColor = [UIColor blackColor];
194 194
195 - NSDictionary *infoDict = [TZCommonTools tz_getInfoDictionary]; 195 + NSDictionary *infoDict = [CNTZCommonTools CNTZ_getInfoDictionary];
196 NSString *appName = [infoDict valueForKey:@"CFBundleDisplayName"]; 196 NSString *appName = [infoDict valueForKey:@"CFBundleDisplayName"];
197 if (!appName) appName = [infoDict valueForKey:@"CFBundleName"]; 197 if (!appName) appName = [infoDict valueForKey:@"CFBundleName"];
198 - NSString *tipText = [NSString stringWithFormat:[NSBundle tz_localizedStringForKey:@"Allow %@ to access your album in \"Settings -> Privacy -> Photos\""],appName]; 198 + NSString *tipText = [NSString stringWithFormat:[NSBundle CNTZ_localizedStringForKey:@"Allow %@ to access your album in \"Settings -> Privacy -> Photos\""],appName];
199 _tipLabel.text = tipText; 199 _tipLabel.text = tipText;
200 [self.view addSubview:_tipLabel]; 200 [self.view addSubview:_tipLabel];
201 201
202 if (iOS8Later) { 202 if (iOS8Later) {
203 _settingBtn = [UIButton buttonWithType:UIButtonTypeSystem]; 203 _settingBtn = [UIButton buttonWithType:UIButtonTypeSystem];
204 [_settingBtn setTitle:self.settingBtnTitleStr forState:UIControlStateNormal]; 204 [_settingBtn setTitle:self.settingBtnTitleStr forState:UIControlStateNormal];
205 - _settingBtn.frame = CGRectMake(0, 180, self.view.tz_width, 44); 205 + _settingBtn.frame = CGRectMake(0, 180, self.view.CNTZ_width, 44);
206 _settingBtn.titleLabel.font = [UIFont systemFontOfSize:18]; 206 _settingBtn.titleLabel.font = [UIFont systemFontOfSize:18];
207 [_settingBtn addTarget:self action:@selector(settingBtnClick) forControlEvents:UIControlEventTouchUpInside]; 207 [_settingBtn addTarget:self action:@selector(settingBtnClick) forControlEvents:UIControlEventTouchUpInside];
208 [self.view addSubview:_settingBtn]; 208 [self.view addSubview:_settingBtn];
209 } 209 }
210 210
211 - if ([TZImageManager authorizationStatus] == 0) { 211 + if ([CNTZImageManager authorizationStatus] == 0) {
212 _timer = [NSTimer scheduledTimerWithTimeInterval:0.2 target:self selector:@selector(observeAuthrizationStatusChange) userInfo:nil repeats:NO]; 212 _timer = [NSTimer scheduledTimerWithTimeInterval:0.2 target:self selector:@selector(observeAuthrizationStatusChange) userInfo:nil repeats:NO];
213 } 213 }
214 } else { 214 } else {
@@ -220,7 +220,7 @@ @@ -220,7 +220,7 @@
220 220
221 /// This init method just for previewing photos / 用这个初始化方法以预览图片 221 /// This init method just for previewing photos / 用这个初始化方法以预览图片
222 - (instancetype)initWithSelectedAssets:(NSMutableArray *)selectedAssets selectedPhotos:(NSMutableArray *)selectedPhotos index:(NSInteger)index{ 222 - (instancetype)initWithSelectedAssets:(NSMutableArray *)selectedAssets selectedPhotos:(NSMutableArray *)selectedPhotos index:(NSInteger)index{
223 - TZPhotoPreviewController *previewVc = [[TZPhotoPreviewController alloc] init]; 223 + CNTZPhotoPreviewController *previewVc = [[CNTZPhotoPreviewController alloc] init];
224 self = [super initWithRootViewController:previewVc]; 224 self = [super initWithRootViewController:previewVc];
225 if (self) { 225 if (self) {
226 self.selectedAssets = [NSMutableArray arrayWithArray:selectedAssets]; 226 self.selectedAssets = [NSMutableArray arrayWithArray:selectedAssets];
@@ -245,7 +245,7 @@ @@ -245,7 +245,7 @@
245 245
246 /// This init method for crop photo / 用这个初始化方法以裁剪图片 246 /// This init method for crop photo / 用这个初始化方法以裁剪图片
247 - (instancetype)initCropTypeWithAsset:(id)asset photo:(UIImage *)photo completion:(void (^)(UIImage *cropImage,id asset))completion { 247 - (instancetype)initCropTypeWithAsset:(id)asset photo:(UIImage *)photo completion:(void (^)(UIImage *cropImage,id asset))completion {
248 - TZPhotoPreviewController *previewVc = [[TZPhotoPreviewController alloc] init]; 248 + CNTZPhotoPreviewController *previewVc = [[CNTZPhotoPreviewController alloc] init];
249 self = [super initWithRootViewController:previewVc]; 249 self = [super initWithRootViewController:previewVc];
250 if (self) { 250 if (self) {
251 self.maxImagesCount = 1; 251 self.maxImagesCount = 1;
@@ -288,8 +288,8 @@ @@ -288,8 +288,8 @@
288 self.iconThemeColor = [UIColor colorWithRed:31 / 255.0 green:185 / 255.0 blue:34 / 255.0 alpha:1.0]; 288 self.iconThemeColor = [UIColor colorWithRed:31 / 255.0 green:185 / 255.0 blue:34 / 255.0 alpha:1.0];
289 [self configDefaultBtnTitle]; 289 [self configDefaultBtnTitle];
290 290
291 - CGFloat cropViewWH = MIN(self.view.tz_width, self.view.tz_height) / 3 * 2;  
292 - self.cropRect = CGRectMake((self.view.tz_width - cropViewWH) / 2, (self.view.tz_height - cropViewWH) / 2, cropViewWH, cropViewWH); 291 + CGFloat cropViewWH = MIN(self.view.CNTZ_width, self.view.CNTZ_height) / 3 * 2;
  292 + self.cropRect = CGRectMake((self.view.CNTZ_width - cropViewWH) / 2, (self.view.CNTZ_height - cropViewWH) / 2, cropViewWH, cropViewWH);
293 } 293 }
294 294
295 - (void)configDefaultImageName { 295 - (void)configDefaultImageName {
@@ -343,13 +343,13 @@ @@ -343,13 +343,13 @@
343 } 343 }
344 344
345 - (void)configDefaultBtnTitle { 345 - (void)configDefaultBtnTitle {
346 - self.doneBtnTitleStr = [NSBundle tz_localizedStringForKey:@"Done"];  
347 - self.cancelBtnTitleStr = [NSBundle tz_localizedStringForKey:@"Cancel"];  
348 - self.previewBtnTitleStr = [NSBundle tz_localizedStringForKey:@"Preview"];  
349 - self.fullImageBtnTitleStr = [NSBundle tz_localizedStringForKey:@"Full image"];  
350 - self.settingBtnTitleStr = [NSBundle tz_localizedStringForKey:@"Setting"];  
351 - self.processHintStr = [NSBundle tz_localizedStringForKey:@"Processing..."];  
352 - self.editBtnTitleStr = [NSBundle tz_localizedStringForKey:@"Edit"]; 346 + self.doneBtnTitleStr = [NSBundle CNTZ_localizedStringForKey:@"Done"];
  347 + self.cancelBtnTitleStr = [NSBundle CNTZ_localizedStringForKey:@"Cancel"];
  348 + self.previewBtnTitleStr = [NSBundle CNTZ_localizedStringForKey:@"Preview"];
  349 + self.fullImageBtnTitleStr = [NSBundle CNTZ_localizedStringForKey:@"Full image"];
  350 + self.settingBtnTitleStr = [NSBundle CNTZ_localizedStringForKey:@"Setting"];
  351 + self.processHintStr = [NSBundle CNTZ_localizedStringForKey:@"Processing..."];
  352 + self.editBtnTitleStr = [NSBundle CNTZ_localizedStringForKey:@"Edit"];
353 } 353 }
354 354
355 - (void)setShowSelectedIndex:(BOOL)showSelectedIndex { 355 - (void)setShowSelectedIndex:(BOOL)showSelectedIndex {
@@ -357,39 +357,39 @@ @@ -357,39 +357,39 @@
357 if (showSelectedIndex) { 357 if (showSelectedIndex) {
358 self.photoSelImage = [self createImageWithColor:nil size:CGSizeMake(24, 24) radius:12]; 358 self.photoSelImage = [self createImageWithColor:nil size:CGSizeMake(24, 24) radius:12];
359 } 359 }
360 - [TZImagePickerConfig sharedInstance].showSelectedIndex = showSelectedIndex; 360 + [CNTZImagePickerConfig sharedInstance].showSelectedIndex = showSelectedIndex;
361 } 361 }
362 362
363 - (void)setShowPhotoCannotSelectLayer:(BOOL)showPhotoCannotSelectLayer { 363 - (void)setShowPhotoCannotSelectLayer:(BOOL)showPhotoCannotSelectLayer {
364 _showPhotoCannotSelectLayer = showPhotoCannotSelectLayer; 364 _showPhotoCannotSelectLayer = showPhotoCannotSelectLayer;
365 - [TZImagePickerConfig sharedInstance].showPhotoCannotSelectLayer = showPhotoCannotSelectLayer; 365 + [CNTZImagePickerConfig sharedInstance].showPhotoCannotSelectLayer = showPhotoCannotSelectLayer;
366 } 366 }
367 367
368 - (void)setNotScaleImage:(BOOL)notScaleImage { 368 - (void)setNotScaleImage:(BOOL)notScaleImage {
369 _notScaleImage = notScaleImage; 369 _notScaleImage = notScaleImage;
370 - [TZImagePickerConfig sharedInstance].notScaleImage = notScaleImage; 370 + [CNTZImagePickerConfig sharedInstance].notScaleImage = notScaleImage;
371 } 371 }
372 372
373 - (void)setNeedFixComposition:(BOOL)needFixComposition { 373 - (void)setNeedFixComposition:(BOOL)needFixComposition {
374 _needFixComposition = needFixComposition; 374 _needFixComposition = needFixComposition;
375 - [TZImagePickerConfig sharedInstance].needFixComposition = needFixComposition; 375 + [CNTZImagePickerConfig sharedInstance].needFixComposition = needFixComposition;
376 } 376 }
377 377
378 - (void)observeAuthrizationStatusChange { 378 - (void)observeAuthrizationStatusChange {
379 [_timer invalidate]; 379 [_timer invalidate];
380 _timer = nil; 380 _timer = nil;
381 - if ([TZImageManager authorizationStatus] == 0) { 381 + if ([CNTZImageManager authorizationStatus] == 0) {
382 _timer = [NSTimer scheduledTimerWithTimeInterval:0.2 target:self selector:@selector(observeAuthrizationStatusChange) userInfo:nil repeats:NO]; 382 _timer = [NSTimer scheduledTimerWithTimeInterval:0.2 target:self selector:@selector(observeAuthrizationStatusChange) userInfo:nil repeats:NO];
383 } 383 }
384 384
385 - if ([[TZImageManager manager] authorizationStatusAuthorized]) { 385 + if ([[CNTZImageManager manager] authorizationStatusAuthorized]) {
386 [_tipLabel removeFromSuperview]; 386 [_tipLabel removeFromSuperview];
387 [_settingBtn removeFromSuperview]; 387 [_settingBtn removeFromSuperview];
388 388
389 [self pushPhotoPickerVc]; 389 [self pushPhotoPickerVc];
390 390
391 - TZAlbumPickerController *albumPickerVc = (TZAlbumPickerController *)self.visibleViewController;  
392 - if ([albumPickerVc isKindOfClass:[TZAlbumPickerController class]]) { 391 + CNTZAlbumPickerController *albumPickerVc = (CNTZAlbumPickerController *)self.visibleViewController;
  392 + if ([albumPickerVc isKindOfClass:[CNTZAlbumPickerController class]]) {
393 [albumPickerVc configTableView]; 393 [albumPickerVc configTableView];
394 } 394 }
395 } 395 }
@@ -399,11 +399,11 @@ @@ -399,11 +399,11 @@
399 _didPushPhotoPickerVc = NO; 399 _didPushPhotoPickerVc = NO;
400 // 1.6.8 判断是否需要push到照片选择页,如果_pushPhotoPickerVc为NO,则不push 400 // 1.6.8 判断是否需要push到照片选择页,如果_pushPhotoPickerVc为NO,则不push
401 if (!_didPushPhotoPickerVc && _pushPhotoPickerVc) { 401 if (!_didPushPhotoPickerVc && _pushPhotoPickerVc) {
402 - TZPhotoPickerController *photoPickerVc = [[TZPhotoPickerController alloc] init]; 402 + CNTZPhotoPickerController *photoPickerVc = [[CNTZPhotoPickerController alloc] init];
403 photoPickerVc.isFirstAppear = YES; 403 photoPickerVc.isFirstAppear = YES;
404 photoPickerVc.columnNumber = self.columnNumber; 404 photoPickerVc.columnNumber = self.columnNumber;
405 __weak typeof(self) weakSelf = self; 405 __weak typeof(self) weakSelf = self;
406 - [[TZImageManager manager] getCameraRollAlbum:self.allowPickingVideo allowPickingImage:self.allowPickingImage needFetchAssets:NO completion:^(TZAlbumModel *model) { 406 + [[CNTZImageManager manager] getCameraRollAlbum:self.allowPickingVideo allowPickingImage:self.allowPickingImage needFetchAssets:NO completion:^(CNTZAlbumModel *model) {
407 photoPickerVc.model = model; 407 photoPickerVc.model = model;
408 [weakSelf pushViewController:photoPickerVc animated:YES]; 408 [weakSelf pushViewController:photoPickerVc animated:YES];
409 self->_didPushPhotoPickerVc = YES; 409 self->_didPushPhotoPickerVc = YES;
@@ -414,11 +414,11 @@ @@ -414,11 +414,11 @@
414 - (id)showAlertWithTitle:(NSString *)title { 414 - (id)showAlertWithTitle:(NSString *)title {
415 if (iOS8Later) { 415 if (iOS8Later) {
416 UIAlertController *alertController = [UIAlertController alertControllerWithTitle:title message:nil preferredStyle:UIAlertControllerStyleAlert]; 416 UIAlertController *alertController = [UIAlertController alertControllerWithTitle:title message:nil preferredStyle:UIAlertControllerStyleAlert];
417 - [alertController addAction:[UIAlertAction actionWithTitle:[NSBundle tz_localizedStringForKey:@"OK"] style:UIAlertActionStyleDefault handler:nil]]; 417 + [alertController addAction:[UIAlertAction actionWithTitle:[NSBundle CNTZ_localizedStringForKey:@"OK"] style:UIAlertActionStyleDefault handler:nil]];
418 [self presentViewController:alertController animated:YES completion:nil]; 418 [self presentViewController:alertController animated:YES completion:nil];
419 return alertController; 419 return alertController;
420 } else { 420 } else {
421 - UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:title message:nil delegate:nil cancelButtonTitle:[NSBundle tz_localizedStringForKey:@"OK"] otherButtonTitles:nil, nil]; 421 + UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:title message:nil delegate:nil cancelButtonTitle:[NSBundle CNTZ_localizedStringForKey:@"OK"] otherButtonTitles:nil, nil];
422 [alertView show]; 422 [alertView show];
423 return alertView; 423 return alertView;
424 } 424 }
@@ -503,14 +503,14 @@ @@ -503,14 +503,14 @@
503 503
504 - (void)setCircleCropRadius:(NSInteger)circleCropRadius { 504 - (void)setCircleCropRadius:(NSInteger)circleCropRadius {
505 _circleCropRadius = circleCropRadius; 505 _circleCropRadius = circleCropRadius;
506 - self.cropRect = CGRectMake(self.view.tz_width / 2 - circleCropRadius, self.view.tz_height / 2 - _circleCropRadius, _circleCropRadius * 2, _circleCropRadius * 2); 506 + self.cropRect = CGRectMake(self.view.CNTZ_width / 2 - circleCropRadius, self.view.CNTZ_height / 2 - _circleCropRadius, _circleCropRadius * 2, _circleCropRadius * 2);
507 } 507 }
508 508
509 - (void)setCropRect:(CGRect)cropRect { 509 - (void)setCropRect:(CGRect)cropRect {
510 _cropRect = cropRect; 510 _cropRect = cropRect;
511 _cropRectPortrait = cropRect; 511 _cropRectPortrait = cropRect;
512 CGFloat widthHeight = cropRect.size.width; 512 CGFloat widthHeight = cropRect.size.width;
513 - _cropRectLandscape = CGRectMake((self.view.tz_height - widthHeight) / 2, cropRect.origin.x, widthHeight, widthHeight); 513 + _cropRectLandscape = CGRectMake((self.view.CNTZ_height - widthHeight) / 2, cropRect.origin.x, widthHeight, widthHeight);
514 } 514 }
515 515
516 - (void)setTimeout:(NSInteger)timeout { 516 - (void)setTimeout:(NSInteger)timeout {
@@ -522,9 +522,9 @@ @@ -522,9 +522,9 @@
522 } 522 }
523 } 523 }
524 524
525 -- (void)setPickerDelegate:(id<TZImagePickerControllerDelegate>)pickerDelegate { 525 +- (void)setPickerDelegate:(id<CNTZImagePickerControllerDelegate>)pickerDelegate {
526 _pickerDelegate = pickerDelegate; 526 _pickerDelegate = pickerDelegate;
527 - [TZImageManager manager].pickerDelegate = pickerDelegate; 527 + [CNTZImageManager manager].pickerDelegate = pickerDelegate;
528 } 528 }
529 529
530 - (void)setColumnNumber:(NSInteger)columnNumber { 530 - (void)setColumnNumber:(NSInteger)columnNumber {
@@ -535,24 +535,24 @@ @@ -535,24 +535,24 @@
535 _columnNumber = 6; 535 _columnNumber = 6;
536 } 536 }
537 537
538 - TZAlbumPickerController *albumPickerVc = [self.childViewControllers firstObject]; 538 + CNTZAlbumPickerController *albumPickerVc = [self.childViewControllers firstObject];
539 albumPickerVc.columnNumber = _columnNumber; 539 albumPickerVc.columnNumber = _columnNumber;
540 - [TZImageManager manager].columnNumber = _columnNumber; 540 + [CNTZImageManager manager].columnNumber = _columnNumber;
541 } 541 }
542 542
543 - (void)setMinPhotoWidthSelectable:(NSInteger)minPhotoWidthSelectable { 543 - (void)setMinPhotoWidthSelectable:(NSInteger)minPhotoWidthSelectable {
544 _minPhotoWidthSelectable = minPhotoWidthSelectable; 544 _minPhotoWidthSelectable = minPhotoWidthSelectable;
545 - [TZImageManager manager].minPhotoWidthSelectable = minPhotoWidthSelectable; 545 + [CNTZImageManager manager].minPhotoWidthSelectable = minPhotoWidthSelectable;
546 } 546 }
547 547
548 - (void)setMinPhotoHeightSelectable:(NSInteger)minPhotoHeightSelectable { 548 - (void)setMinPhotoHeightSelectable:(NSInteger)minPhotoHeightSelectable {
549 _minPhotoHeightSelectable = minPhotoHeightSelectable; 549 _minPhotoHeightSelectable = minPhotoHeightSelectable;
550 - [TZImageManager manager].minPhotoHeightSelectable = minPhotoHeightSelectable; 550 + [CNTZImageManager manager].minPhotoHeightSelectable = minPhotoHeightSelectable;
551 } 551 }
552 552
553 - (void)setHideWhenCanNotSelect:(BOOL)hideWhenCanNotSelect { 553 - (void)setHideWhenCanNotSelect:(BOOL)hideWhenCanNotSelect {
554 _hideWhenCanNotSelect = hideWhenCanNotSelect; 554 _hideWhenCanNotSelect = hideWhenCanNotSelect;
555 - [TZImageManager manager].hideWhenCanNotSelect = hideWhenCanNotSelect; 555 + [CNTZImageManager manager].hideWhenCanNotSelect = hideWhenCanNotSelect;
556 } 556 }
557 557
558 - (void)setPhotoPreviewMaxWidth:(CGFloat)photoPreviewMaxWidth { 558 - (void)setPhotoPreviewMaxWidth:(CGFloat)photoPreviewMaxWidth {
@@ -562,12 +562,12 @@ @@ -562,12 +562,12 @@
562 } else if (photoPreviewMaxWidth < 500) { 562 } else if (photoPreviewMaxWidth < 500) {
563 _photoPreviewMaxWidth = 500; 563 _photoPreviewMaxWidth = 500;
564 } 564 }
565 - [TZImageManager manager].photoPreviewMaxWidth = _photoPreviewMaxWidth; 565 + [CNTZImageManager manager].photoPreviewMaxWidth = _photoPreviewMaxWidth;
566 } 566 }
567 567
568 - (void)setPhotoWidth:(CGFloat)photoWidth { 568 - (void)setPhotoWidth:(CGFloat)photoWidth {
569 _photoWidth = photoWidth; 569 _photoWidth = photoWidth;
570 - [TZImageManager manager].photoWidth = photoWidth; 570 + [CNTZImageManager manager].photoWidth = photoWidth;
571 } 571 }
572 572
573 - (void)setSelectedAssets:(NSMutableArray *)selectedAssets { 573 - (void)setSelectedAssets:(NSMutableArray *)selectedAssets {
@@ -575,7 +575,7 @@ @@ -575,7 +575,7 @@
575 _selectedModels = [NSMutableArray array]; 575 _selectedModels = [NSMutableArray array];
576 _selectedAssetIds = [NSMutableArray array]; 576 _selectedAssetIds = [NSMutableArray array];
577 for (id asset in selectedAssets) { 577 for (id asset in selectedAssets) {
578 - TZAssetModel *model = [TZAssetModel modelWithAsset:asset type:[[TZImageManager manager] getAssetType:asset]]; 578 + CNTZAssetModel *model = [CNTZAssetModel modelWithAsset:asset type:[[CNTZImageManager manager] getAssetType:asset]];
579 model.isSelected = YES; 579 model.isSelected = YES;
580 [self addSelectedModel:model]; 580 [self addSelectedModel:model];
581 } 581 }
@@ -583,7 +583,7 @@ @@ -583,7 +583,7 @@
583 583
584 - (void)setAllowPickingImage:(BOOL)allowPickingImage { 584 - (void)setAllowPickingImage:(BOOL)allowPickingImage {
585 _allowPickingImage = allowPickingImage; 585 _allowPickingImage = allowPickingImage;
586 - [TZImagePickerConfig sharedInstance].allowPickingImage = allowPickingImage; 586 + [CNTZImagePickerConfig sharedInstance].allowPickingImage = allowPickingImage;
587 if (!allowPickingImage) { 587 if (!allowPickingImage) {
588 _allowTakePicture = NO; 588 _allowTakePicture = NO;
589 } 589 }
@@ -591,7 +591,7 @@ @@ -591,7 +591,7 @@
591 591
592 - (void)setAllowPickingVideo:(BOOL)allowPickingVideo { 592 - (void)setAllowPickingVideo:(BOOL)allowPickingVideo {
593 _allowPickingVideo = allowPickingVideo; 593 _allowPickingVideo = allowPickingVideo;
594 - [TZImagePickerConfig sharedInstance].allowPickingVideo = allowPickingVideo; 594 + [CNTZImagePickerConfig sharedInstance].allowPickingVideo = allowPickingVideo;
595 if (!allowPickingVideo) { 595 if (!allowPickingVideo) {
596 _allowTakeVideo = NO; 596 _allowTakeVideo = NO;
597 } 597 }
@@ -599,19 +599,19 @@ @@ -599,19 +599,19 @@
599 599
600 - (void)setPreferredLanguage:(NSString *)preferredLanguage { 600 - (void)setPreferredLanguage:(NSString *)preferredLanguage {
601 _preferredLanguage = preferredLanguage; 601 _preferredLanguage = preferredLanguage;
602 - [TZImagePickerConfig sharedInstance].preferredLanguage = preferredLanguage; 602 + [CNTZImagePickerConfig sharedInstance].preferredLanguage = preferredLanguage;
603 [self configDefaultBtnTitle]; 603 [self configDefaultBtnTitle];
604 } 604 }
605 605
606 - (void)setLanguageBundle:(NSBundle *)languageBundle { 606 - (void)setLanguageBundle:(NSBundle *)languageBundle {
607 _languageBundle = languageBundle; 607 _languageBundle = languageBundle;
608 - [TZImagePickerConfig sharedInstance].languageBundle = languageBundle; 608 + [CNTZImagePickerConfig sharedInstance].languageBundle = languageBundle;
609 [self configDefaultBtnTitle]; 609 [self configDefaultBtnTitle];
610 } 610 }
611 611
612 - (void)setSortAscendingByModificationDate:(BOOL)sortAscendingByModificationDate { 612 - (void)setSortAscendingByModificationDate:(BOOL)sortAscendingByModificationDate {
613 _sortAscendingByModificationDate = sortAscendingByModificationDate; 613 _sortAscendingByModificationDate = sortAscendingByModificationDate;
614 - [TZImageManager manager].sortAscendingByModificationDate = sortAscendingByModificationDate; 614 + [CNTZImageManager manager].sortAscendingByModificationDate = sortAscendingByModificationDate;
615 } 615 }
616 616
617 - (void)settingBtnClick { 617 - (void)settingBtnClick {
@@ -627,18 +627,18 @@ @@ -627,18 +627,18 @@
627 627
628 - (void)dealloc { 628 - (void)dealloc {
629 // NSLog(@"%@ dealloc",NSStringFromClass(self.class)); 629 // NSLog(@"%@ dealloc",NSStringFromClass(self.class));
630 - NSLog(@"相册_导航_TZImagePickerController_释放"); 630 + NSLog(@"相册_导航_CNTZImagePickerController_释放");
631 } 631 }
632 632
633 -- (void)addSelectedModel:(TZAssetModel *)model { 633 +- (void)addSelectedModel:(CNTZAssetModel *)model {
634 [_selectedModels addObject:model]; 634 [_selectedModels addObject:model];
635 - NSString *assetId = [[TZImageManager manager] getAssetIdentifier:model.asset]; 635 + NSString *assetId = [[CNTZImageManager manager] getAssetIdentifier:model.asset];
636 [_selectedAssetIds addObject:assetId]; 636 [_selectedAssetIds addObject:assetId];
637 } 637 }
638 638
639 -- (void)removeSelectedModel:(TZAssetModel *)model { 639 +- (void)removeSelectedModel:(CNTZAssetModel *)model {
640 [_selectedModels removeObject:model]; 640 [_selectedModels removeObject:model];
641 - NSString *assetId = [[TZImageManager manager] getAssetIdentifier:model.asset]; 641 + NSString *assetId = [[CNTZImageManager manager] getAssetIdentifier:model.asset];
642 [_selectedAssetIds removeObject:assetId]; 642 [_selectedAssetIds removeObject:assetId];
643 } 643 }
644 644
@@ -692,7 +692,7 @@ @@ -692,7 +692,7 @@
692 - (void)viewDidLayoutSubviews { 692 - (void)viewDidLayoutSubviews {
693 [super viewDidLayoutSubviews]; 693 [super viewDidLayoutSubviews];
694 694
695 - _HUDContainer.frame = CGRectMake((self.view.tz_width - 120) / 2, (self.view.tz_height - 90) / 2, 120, 90); 695 + _HUDContainer.frame = CGRectMake((self.view.CNTZ_width - 120) / 2, (self.view.CNTZ_height - 90) / 2, 120, 90);
696 _HUDIndicatorView.frame = CGRectMake(45, 15, 30, 30); 696 _HUDIndicatorView.frame = CGRectMake(45, 15, 30, 30);
697 _HUDLabel.frame = CGRectMake(0,40, 120, 50); 697 _HUDLabel.frame = CGRectMake(0,40, 120, 50);
698 } 698 }
@@ -719,8 +719,8 @@ @@ -719,8 +719,8 @@
719 } 719 }
720 720
721 - (void)callDelegateMethod { 721 - (void)callDelegateMethod {
722 - if ([self.pickerDelegate respondsToSelector:@selector(tz_imagePickerControllerDidCancel:)]) {  
723 - [self.pickerDelegate tz_imagePickerControllerDidCancel:self]; 722 + if ([self.pickerDelegate respondsToSelector:@selector(CNTZ_imagePickerControllerDidCancel:)]) {
  723 + [self.pickerDelegate CNTZ_imagePickerControllerDidCancel:self];
724 } 724 }
725 if (self.imagePickerControllerDidCancelHandle) { 725 if (self.imagePickerControllerDidCancelHandle) {
726 self.imagePickerControllerDidCancelHandle(); 726 self.imagePickerControllerDidCancelHandle();
@@ -730,62 +730,62 @@ @@ -730,62 +730,62 @@
730 @end 730 @end
731 731
732 732
733 -@interface TZAlbumPickerController ()<UITableViewDataSource,UITableViewDelegate> { 733 +@interface CNTZAlbumPickerController ()<UITableViewDataSource,UITableViewDelegate> {
734 UITableView *_tableView; 734 UITableView *_tableView;
735 } 735 }
736 @property (nonatomic, strong) NSMutableArray *albumArr; 736 @property (nonatomic, strong) NSMutableArray *albumArr;
737 @end 737 @end
738 738
739 -@implementation TZAlbumPickerController 739 +@implementation CNTZAlbumPickerController
740 740
741 - (void)viewDidLoad { 741 - (void)viewDidLoad {
742 [super viewDidLoad]; 742 [super viewDidLoad];
743 self.isFirstAppear = YES; 743 self.isFirstAppear = YES;
744 self.view.backgroundColor = [UIColor whiteColor]; 744 self.view.backgroundColor = [UIColor whiteColor];
745 745
746 - TZImagePickerController *imagePickerVc = (TZImagePickerController *)self.navigationController; 746 + CNTZImagePickerController *imagePickerVc = (CNTZImagePickerController *)self.navigationController;
747 self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:imagePickerVc.cancelBtnTitleStr style:UIBarButtonItemStylePlain target:imagePickerVc action:@selector(cancelButtonClick)]; 747 self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:imagePickerVc.cancelBtnTitleStr style:UIBarButtonItemStylePlain target:imagePickerVc action:@selector(cancelButtonClick)];
748 [self.navigationItem.rightBarButtonItem setTintColor:[UIColor blackColor]]; 748 [self.navigationItem.rightBarButtonItem setTintColor:[UIColor blackColor]];
749 } 749 }
750 750
751 - (void)viewWillAppear:(BOOL)animated { 751 - (void)viewWillAppear:(BOOL)animated {
752 [super viewWillAppear:animated]; 752 [super viewWillAppear:animated];
753 - TZImagePickerController *imagePickerVc = (TZImagePickerController *)self.navigationController; 753 + CNTZImagePickerController *imagePickerVc = (CNTZImagePickerController *)self.navigationController;
754 [imagePickerVc hideProgressHUD]; 754 [imagePickerVc hideProgressHUD];
755 if (imagePickerVc.allowPickingImage) { 755 if (imagePickerVc.allowPickingImage) {
756 - self.navigationItem.title = [NSBundle tz_localizedStringForKey:@"Photos"]; 756 + self.navigationItem.title = [NSBundle CNTZ_localizedStringForKey:@"Photos"];
757 } else if (imagePickerVc.allowPickingVideo) { 757 } else if (imagePickerVc.allowPickingVideo) {
758 - self.navigationItem.title = [NSBundle tz_localizedStringForKey:@"Videos"]; 758 + self.navigationItem.title = [NSBundle CNTZ_localizedStringForKey:@"Videos"];
759 } 759 }
760 760
761 if (self.isFirstAppear && !imagePickerVc.navLeftBarButtonSettingBlock) { 761 if (self.isFirstAppear && !imagePickerVc.navLeftBarButtonSettingBlock) {
762 - self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:[NSBundle tz_localizedStringForKey:@"Back"] style:UIBarButtonItemStylePlain target:nil action:nil]; 762 + self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:[NSBundle CNTZ_localizedStringForKey:@"Back"] style:UIBarButtonItemStylePlain target:nil action:nil];
763 } 763 }
764 764
765 [self configTableView]; 765 [self configTableView];
766 } 766 }
767 767
768 - (void)configTableView { 768 - (void)configTableView {
769 - if (![[TZImageManager manager] authorizationStatusAuthorized]) { 769 + if (![[CNTZImageManager manager] authorizationStatusAuthorized]) {
770 return; 770 return;
771 } 771 }
772 772
773 if (self.isFirstAppear) { 773 if (self.isFirstAppear) {
774 - TZImagePickerController *imagePickerVc = (TZImagePickerController *)self.navigationController; 774 + CNTZImagePickerController *imagePickerVc = (CNTZImagePickerController *)self.navigationController;
775 [imagePickerVc showProgressHUD]; 775 [imagePickerVc showProgressHUD];
776 } 776 }
777 __weak typeof(self) weakSelf = self; 777 __weak typeof(self) weakSelf = self;
778 dispatch_async(dispatch_get_global_queue(0, 0), ^{ 778 dispatch_async(dispatch_get_global_queue(0, 0), ^{
779 dispatch_async(dispatch_get_main_queue(), ^{ 779 dispatch_async(dispatch_get_main_queue(), ^{
780 - TZImagePickerController *imagePickerVc = (TZImagePickerController *)weakSelf.navigationController;  
781 - [[TZImageManager manager] getAllAlbums:imagePickerVc.allowPickingVideo allowPickingImage:imagePickerVc.allowPickingImage needFetchAssets:!weakSelf.isFirstAppear completion:^(NSArray<TZAlbumModel *> *models) { 780 + CNTZImagePickerController *imagePickerVc = (CNTZImagePickerController *)weakSelf.navigationController;
  781 + [[CNTZImageManager manager] getAllAlbums:imagePickerVc.allowPickingVideo allowPickingImage:imagePickerVc.allowPickingImage needFetchAssets:!weakSelf.isFirstAppear completion:^(NSArray<CNTZAlbumModel *> *models) {
782 782
783 if (models == nil) { 783 if (models == nil) {
784 [imagePickerVc hideProgressHUD]; 784 [imagePickerVc hideProgressHUD];
785 return; 785 return;
786 } 786 }
787 self->_albumArr = [NSMutableArray arrayWithArray:models]; 787 self->_albumArr = [NSMutableArray arrayWithArray:models];
788 - for (TZAlbumModel *albumModel in self->_albumArr) { 788 + for (CNTZAlbumModel *albumModel in self->_albumArr) {
789 albumModel.selectedModels = imagePickerVc.selectedModels; 789 albumModel.selectedModels = imagePickerVc.selectedModels;
790 } 790 }
791 [imagePickerVc hideProgressHUD]; 791 [imagePickerVc hideProgressHUD];
@@ -801,7 +801,7 @@ @@ -801,7 +801,7 @@
801 self->_tableView.tableFooterView = [[UIView alloc] init]; 801 self->_tableView.tableFooterView = [[UIView alloc] init];
802 self->_tableView.dataSource = self; 802 self->_tableView.dataSource = self;
803 self->_tableView.delegate = self; 803 self->_tableView.delegate = self;
804 - [self->_tableView registerClass:[TZAlbumCell class] forCellReuseIdentifier:@"TZAlbumCell"]; 804 + [self->_tableView registerClass:[CNTZAlbumCell class] forCellReuseIdentifier:@"CNTZAlbumCell"];
805 [weakSelf.view addSubview:self->_tableView]; 805 [weakSelf.view addSubview:self->_tableView];
806 } else { 806 } else {
807 [self->_tableView reloadData]; 807 [self->_tableView reloadData];
@@ -815,7 +815,7 @@ @@ -815,7 +815,7 @@
815 - (void)dealloc { 815 - (void)dealloc {
816 // NSLog(@"%@ dealloc",NSStringFromClass(self.class)); 816 // NSLog(@"%@ dealloc",NSStringFromClass(self.class));
817 817
818 - NSLog(@"相册_相簿_TZAlbumPickerController_dealloc"); 818 + NSLog(@"相册_相簿_CNTZAlbumPickerController_dealloc");
819 819
820 } 820 }
821 821
@@ -826,16 +826,16 @@ @@ -826,16 +826,16 @@
826 826
827 CGFloat top = 0; 827 CGFloat top = 0;
828 CGFloat tableViewHeight = 0; 828 CGFloat tableViewHeight = 0;
829 - CGFloat naviBarHeight = self.navigationController.navigationBar.tz_height; 829 + CGFloat naviBarHeight = self.navigationController.navigationBar.CNTZ_height;
830 BOOL isStatusBarHidden = [UIApplication sharedApplication].isStatusBarHidden; 830 BOOL isStatusBarHidden = [UIApplication sharedApplication].isStatusBarHidden;
831 if (self.navigationController.navigationBar.isTranslucent) { 831 if (self.navigationController.navigationBar.isTranslucent) {
832 top = naviBarHeight; 832 top = naviBarHeight;
833 - if (iOS7Later && !isStatusBarHidden) top += [TZCommonTools tz_statusBarHeight];  
834 - tableViewHeight = self.view.tz_height - top; 833 + if (iOS7Later && !isStatusBarHidden) top += [CNTZCommonTools CNTZ_statusBarHeight];
  834 + tableViewHeight = self.view.CNTZ_height - top;
835 } else { 835 } else {
836 - tableViewHeight = self.view.tz_height; 836 + tableViewHeight = self.view.CNTZ_height;
837 } 837 }
838 - _tableView.frame = CGRectMake(0, top, self.view.tz_width, tableViewHeight); 838 + _tableView.frame = CGRectMake(0, top, self.view.CNTZ_width, tableViewHeight);
839 } 839 }
840 840
841 #pragma mark - UITableViewDataSource && Delegate 841 #pragma mark - UITableViewDataSource && Delegate
@@ -845,8 +845,8 @@ @@ -845,8 +845,8 @@
845 } 845 }
846 846
847 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 847 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
848 - TZAlbumCell *cell = [tableView dequeueReusableCellWithIdentifier:@"TZAlbumCell"];  
849 - TZImagePickerController *imagePickerVc = (TZImagePickerController *)self.navigationController; 848 + CNTZAlbumCell *cell = [tableView dequeueReusableCellWithIdentifier:@"CNTZAlbumCell"];
  849 + CNTZImagePickerController *imagePickerVc = (CNTZImagePickerController *)self.navigationController;
850 cell.albumCellDidLayoutSubviewsBlock = imagePickerVc.albumCellDidLayoutSubviewsBlock; 850 cell.albumCellDidLayoutSubviewsBlock = imagePickerVc.albumCellDidLayoutSubviewsBlock;
851 cell.albumCellDidSetModelBlock = imagePickerVc.albumCellDidSetModelBlock; 851 cell.albumCellDidSetModelBlock = imagePickerVc.albumCellDidSetModelBlock;
852 cell.selectedCountButton.backgroundColor = imagePickerVc.iconThemeColor; 852 cell.selectedCountButton.backgroundColor = imagePickerVc.iconThemeColor;
@@ -856,9 +856,9 @@ @@ -856,9 +856,9 @@
856 } 856 }
857 857
858 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 858 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
859 - TZPhotoPickerController *photoPickerVc = [[TZPhotoPickerController alloc] init]; 859 + CNTZPhotoPickerController *photoPickerVc = [[CNTZPhotoPickerController alloc] init];
860 photoPickerVc.columnNumber = self.columnNumber; 860 photoPickerVc.columnNumber = self.columnNumber;
861 - TZAlbumModel *model = _albumArr[indexPath.row]; 861 + CNTZAlbumModel *model = _albumArr[indexPath.row];
862 photoPickerVc.model = model; 862 photoPickerVc.model = model;
863 [self.navigationController pushViewController:photoPickerVc animated:YES]; 863 [self.navigationController pushViewController:photoPickerVc animated:YES];
864 [tableView deselectRowAtIndexPath:indexPath animated:NO]; 864 [tableView deselectRowAtIndexPath:indexPath animated:NO];
@@ -872,7 +872,7 @@ @@ -872,7 +872,7 @@
872 @implementation UIImage (MyBundle) 872 @implementation UIImage (MyBundle)
873 873
874 + (UIImage *)imageNamedFromMyBundle:(NSString *)name { 874 + (UIImage *)imageNamedFromMyBundle:(NSString *)name {
875 - NSBundle *imageBundle = [NSBundle tz_imagePickerBundle]; 875 + NSBundle *imageBundle = [NSBundle CNTZ_imagePickerBundle];
876 name = [name stringByAppendingString:@"@2x"]; 876 name = [name stringByAppendingString:@"@2x"];
877 NSString *imagePath = [imageBundle pathForResource:name ofType:@"png"]; 877 NSString *imagePath = [imageBundle pathForResource:name ofType:@"png"];
878 UIImage *image = [UIImage imageWithContentsOfFile:imagePath]; 878 UIImage *image = [UIImage imageWithContentsOfFile:imagePath];
@@ -887,9 +887,9 @@ @@ -887,9 +887,9 @@
887 @end 887 @end
888 888
889 889
890 -@implementation NSString (TzExtension) 890 +@implementation NSString (CNTZExtension)
891 891
892 -- (BOOL)tz_containsString:(NSString *)string { 892 +- (BOOL)CNTZ_containsString:(NSString *)string {
893 if (iOS8Later) { 893 if (iOS8Later) {
894 return [self containsString:string]; 894 return [self containsString:string];
895 } else { 895 } else {
@@ -900,7 +900,7 @@ @@ -900,7 +900,7 @@
900 900
901 #pragma clang diagnostic push 901 #pragma clang diagnostic push
902 #pragma clang diagnostic ignored "-Wdeprecated-declarations" 902 #pragma clang diagnostic ignored "-Wdeprecated-declarations"
903 -- (CGSize)tz_calculateSizeWithAttributes:(NSDictionary *)attributes maxSize:(CGSize)maxSize { 903 +- (CGSize)CNTZ_calculateSizeWithAttributes:(NSDictionary *)attributes maxSize:(CGSize)maxSize {
904 CGSize size; 904 CGSize size;
905 if (iOS7Later) { 905 if (iOS7Later) {
906 size = [self boundingRectWithSize:maxSize options:NSStringDrawingUsesFontLeading attributes:attributes context:nil].size; 906 size = [self boundingRectWithSize:maxSize options:NSStringDrawingUsesFontLeading attributes:attributes context:nil].size;
@@ -914,29 +914,23 @@ @@ -914,29 +914,23 @@
914 @end 914 @end
915 915
916 916
917 -@implementation TZCommonTools 917 +@implementation CNTZCommonTools
918 918
919 -+ (BOOL)tz_isIPhoneX { 919 ++ (BOOL)CNTZ_isIPhoneX {
920 920
921 return (CGSizeEqualToSize([UIScreen mainScreen].bounds.size, CGSizeMake(375, 812)) || 921 return (CGSizeEqualToSize([UIScreen mainScreen].bounds.size, CGSizeMake(375, 812)) ||
922 CGSizeEqualToSize([UIScreen mainScreen].bounds.size, CGSizeMake(812, 375)) || 922 CGSizeEqualToSize([UIScreen mainScreen].bounds.size, CGSizeMake(812, 375)) ||
923 CGSizeEqualToSize([UIScreen mainScreen].bounds.size, CGSizeMake(414, 896)) || 923 CGSizeEqualToSize([UIScreen mainScreen].bounds.size, CGSizeMake(414, 896)) ||
924 - CGSizeEqualToSize([UIScreen mainScreen].bounds.size, CGSizeMake(896, 414)) ||  
925 - CGSizeEqualToSize([UIScreen mainScreen].bounds.size, CGSizeMake(360, 780)) ||  
926 - CGSizeEqualToSize([UIScreen mainScreen].bounds.size, CGSizeMake(780, 360)) ||  
927 - CGSizeEqualToSize([UIScreen mainScreen].bounds.size, CGSizeMake(390, 844)) ||  
928 - CGSizeEqualToSize([UIScreen mainScreen].bounds.size, CGSizeMake(844, 390)) ||  
929 - CGSizeEqualToSize([UIScreen mainScreen].bounds.size, CGSizeMake(428, 926)) ||  
930 - CGSizeEqualToSize([UIScreen mainScreen].bounds.size, CGSizeMake(926, 428))); 924 + CGSizeEqualToSize([UIScreen mainScreen].bounds.size, CGSizeMake(896, 414)));
931 925
932 } 926 }
933 927
934 -+ (CGFloat)tz_statusBarHeight {  
935 - return [self tz_isIPhoneX] ? 44 : 20; 928 ++ (CGFloat)CNTZ_statusBarHeight {
  929 + return [self CNTZ_isIPhoneX] ? 44 : 20;
936 } 930 }
937 931
938 // 获得Info.plist数据字典 932 // 获得Info.plist数据字典
939 -+ (NSDictionary *)tz_getInfoDictionary { 933 ++ (NSDictionary *)CNTZ_getInfoDictionary {
940 NSDictionary *infoDict = [NSBundle mainBundle].localizedInfoDictionary; 934 NSDictionary *infoDict = [NSBundle mainBundle].localizedInfoDictionary;
941 if (!infoDict || !infoDict.count) { 935 if (!infoDict || !infoDict.count) {
942 infoDict = [NSBundle mainBundle].infoDictionary; 936 infoDict = [NSBundle mainBundle].infoDictionary;
@@ -950,14 +944,14 @@ @@ -950,14 +944,14 @@
950 @end 944 @end
951 945
952 946
953 -@implementation TZImagePickerConfig 947 +@implementation CNTZImagePickerConfig
954 948
955 + (instancetype)sharedInstance { 949 + (instancetype)sharedInstance {
956 static dispatch_once_t onceToken; 950 static dispatch_once_t onceToken;
957 - static TZImagePickerConfig *config = nil; 951 + static CNTZImagePickerConfig *config = nil;
958 dispatch_once(&onceToken, ^{ 952 dispatch_once(&onceToken, ^{
959 if (config == nil) { 953 if (config == nil) {
960 - config = [[TZImagePickerConfig alloc] init]; 954 + config = [[CNTZImagePickerConfig alloc] init];
961 config.preferredLanguage = nil; 955 config.preferredLanguage = nil;
962 config.gifPreviewMaxImagesCount = 200; 956 config.gifPreviewMaxImagesCount = 200;
963 } 957 }
@@ -980,7 +974,7 @@ @@ -980,7 +974,7 @@
980 } else { 974 } else {
981 preferredLanguage = @"en"; 975 preferredLanguage = @"en";
982 } 976 }
983 - _languageBundle = [NSBundle bundleWithPath:[[NSBundle tz_imagePickerBundle] pathForResource:preferredLanguage ofType:@"lproj"]]; 977 + _languageBundle = [NSBundle bundleWithPath:[[NSBundle CNTZ_imagePickerBundle] pathForResource:preferredLanguage ofType:@"lproj"]];
984 } 978 }
985 979
986 @end 980 @end
CNLiveImagePickerController/Classes/TZLocationManager.h renamed to CNLiveImagePickerController/Classes/CNTZLocationManager.h
1 // 1 //
2 -// TZLocationManager.h  
3 -// TZImagePickerController 2 +// CNTZLocationManager.h
  3 +// CNTZImagePickerController
4 // 4 //
5 // Created by 谭真 on 2017/06/03. 5 // Created by 谭真 on 2017/06/03.
6 // Copyright © 2017年 谭真. All rights reserved. 6 // Copyright © 2017年 谭真. All rights reserved.
@@ -10,7 +10,7 @@ @@ -10,7 +10,7 @@
10 #import <Foundation/Foundation.h> 10 #import <Foundation/Foundation.h>
11 #import <CoreLocation/CoreLocation.h> 11 #import <CoreLocation/CoreLocation.h>
12 12
13 -@interface TZLocationManager : NSObject 13 +@interface CNTZLocationManager : NSObject
14 14
15 + (instancetype)manager; 15 + (instancetype)manager;
16 16
CNLiveImagePickerController/Classes/TZLocationManager.m renamed to CNLiveImagePickerController/Classes/CNTZLocationManager.m
1 // 1 //
2 -// TZLocationManager.m  
3 -// TZImagePickerController 2 +// CNTZLocationManager.m
  3 +// CNTZImagePickerController
4 // 4 //
5 // Created by 谭真 on 2017/06/03. 5 // Created by 谭真 on 2017/06/03.
6 // Copyright © 2017年 谭真. All rights reserved. 6 // Copyright © 2017年 谭真. All rights reserved.
7 // 定位管理类 7 // 定位管理类
8 8
9 -#import "TZLocationManager.h"  
10 -#import "TZImagePickerController.h" 9 +#import "CNTZLocationManager.h"
  10 +#import "CNTZImagePickerController.h"
11 11
12 -@interface TZLocationManager ()<CLLocationManagerDelegate> 12 +@interface CNTZLocationManager ()<CLLocationManagerDelegate>
13 @property (nonatomic, strong) CLLocationManager *locationManager; 13 @property (nonatomic, strong) CLLocationManager *locationManager;
14 /// 定位成功的回调block 14 /// 定位成功的回调block
15 @property (nonatomic, copy) void (^successBlock)(NSArray<CLLocation *> *); 15 @property (nonatomic, copy) void (^successBlock)(NSArray<CLLocation *> *);
@@ -19,10 +19,10 @@ @@ -19,10 +19,10 @@
19 @property (nonatomic, copy) void (^failureBlock)(NSError *error); 19 @property (nonatomic, copy) void (^failureBlock)(NSError *error);
20 @end 20 @end
21 21
22 -@implementation TZLocationManager 22 +@implementation CNTZLocationManager
23 23
24 + (instancetype)manager { 24 + (instancetype)manager {
25 - static TZLocationManager *manager; 25 + static CNTZLocationManager *manager;
26 static dispatch_once_t onceToken; 26 static dispatch_once_t onceToken;
27 dispatch_once(&onceToken, ^{ 27 dispatch_once(&onceToken, ^{
28 manager = [[self alloc] init]; 28 manager = [[self alloc] init];
CNLiveImagePickerController/Classes/TZPhotoPickerController.h renamed to CNLiveImagePickerController/Classes/CNTZPhotoPickerController.h
1 // 1 //
2 -// TZPhotoPickerController.h  
3 -// TZImagePickerController 2 +// CNTZPhotoPickerController.h
  3 +// CNTZImagePickerController
4 // 4 //
5 // Created by 谭真 on 15/12/24. 5 // Created by 谭真 on 15/12/24.
6 // Copyright © 2015年 谭真. All rights reserved. 6 // Copyright © 2015年 谭真. All rights reserved.
@@ -8,15 +8,15 @@ @@ -8,15 +8,15 @@
8 8
9 #import <UIKit/UIKit.h> 9 #import <UIKit/UIKit.h>
10 10
11 -@class TZAlbumModel;  
12 -@interface TZPhotoPickerController : UIViewController 11 +@class CNTZAlbumModel;
  12 +@interface CNTZPhotoPickerController : UIViewController
13 13
14 @property (nonatomic, assign) BOOL isFirstAppear; 14 @property (nonatomic, assign) BOOL isFirstAppear;
15 @property (nonatomic, assign) NSInteger columnNumber; 15 @property (nonatomic, assign) NSInteger columnNumber;
16 -@property (nonatomic, strong) TZAlbumModel *model; 16 +@property (nonatomic, strong) CNTZAlbumModel *model;
17 @end 17 @end
18 18
19 19
20 -@interface TZCollectionView : UICollectionView 20 +@interface CNTZCollectionView : UICollectionView
21 21
22 @end 22 @end
CNLiveImagePickerController/Classes/TZPhotoPickerController.m renamed to CNLiveImagePickerController/Classes/CNTZPhotoPickerController.m
1 // 1 //
2 -// TZPhotoPickerController.m  
3 -// TZImagePickerController 2 +// CNTZPhotoPickerController.m
  3 +// CNTZImagePickerController
4 // 4 //
5 // Created by 谭真 on 15/12/24. 5 // Created by 谭真 on 15/12/24.
6 // Copyright © 2015年 谭真. All rights reserved. 6 // Copyright © 2015年 谭真. All rights reserved.
7 // 7 //
8 8
9 -#import "TZPhotoPickerController.h"  
10 -#import "TZImagePickerController.h"  
11 -#import "TZPhotoPreviewController.h"  
12 -#import "TZAssetCell.h"  
13 -#import "TZAssetModel.h"  
14 -#import "UIView+TZLayout.h"  
15 -#import "TZImageManager.h"  
16 -#import "TZVideoPlayerController.h"  
17 -#import "TZGifPhotoPreviewController.h"  
18 -#import "TZLocationManager.h" 9 +#import "CNTZPhotoPickerController.h"
  10 +#import "CNTZImagePickerController.h"
  11 +#import "CNTZPhotoPreviewController.h"
  12 +#import "CNTZAssetCell.h"
  13 +#import "CNTZAssetModel.h"
  14 +#import "UIView+CNTZLayout.h"
  15 +#import "CNTZImageManager.h"
  16 +#import "CNTZVideoPlayerController.h"
  17 +#import "CNTZGifPhotoPreviewController.h"
  18 +#import "CNTZLocationManager.h"
19 #import <MobileCoreServices/MobileCoreServices.h> 19 #import <MobileCoreServices/MobileCoreServices.h>
20 #import <AssetsLibrary/AssetsLibrary.h>///lxg 20 #import <AssetsLibrary/AssetsLibrary.h>///lxg
21 21
@@ -86,7 +86,7 @@ @@ -86,7 +86,7 @@
86 86
87 @end 87 @end
88 88
89 -@interface TZPhotoPickerController ()<UICollectionViewDataSource,UICollectionViewDelegate,UIImagePickerControllerDelegate,UINavigationControllerDelegate,UIAlertViewDelegate> { 89 +@interface CNTZPhotoPickerController ()<UICollectionViewDataSource,UICollectionViewDelegate,UIImagePickerControllerDelegate,UINavigationControllerDelegate,UIAlertViewDelegate> {
90 NSMutableArray *_models; 90 NSMutableArray *_models;
91 91
92 UIView *_bottomToolBar; 92 UIView *_bottomToolBar;
@@ -107,7 +107,7 @@ @@ -107,7 +107,7 @@
107 } 107 }
108 @property CGRect previousPreheatRect; 108 @property CGRect previousPreheatRect;
109 @property (nonatomic, assign) BOOL isSelectOriginalPhoto; 109 @property (nonatomic, assign) BOOL isSelectOriginalPhoto;
110 -@property (nonatomic, strong) TZCollectionView *collectionView; 110 +@property (nonatomic, strong) CNTZCollectionView *collectionView;
111 @property (strong, nonatomic) UICollectionViewFlowLayout *layout; 111 @property (strong, nonatomic) UICollectionViewFlowLayout *layout;
112 @property (nonatomic, strong) UIImagePickerController *imagePickerVc; 112 @property (nonatomic, strong) UIImagePickerController *imagePickerVc;
113 @property (strong, nonatomic) CLLocation *location; 113 @property (strong, nonatomic) CLLocation *location;
@@ -117,7 +117,7 @@ @@ -117,7 +117,7 @@
117 static CGSize AssetGridThumbnailSize; 117 static CGSize AssetGridThumbnailSize;
118 static CGFloat itemMargin = 5; 118 static CGFloat itemMargin = 5;
119 119
120 -@implementation TZPhotoPickerController 120 +@implementation CNTZPhotoPickerController
121 121
122 #pragma clang diagnostic push 122 #pragma clang diagnostic push
123 #pragma clang diagnostic ignored "-Wdeprecated-declarations" 123 #pragma clang diagnostic ignored "-Wdeprecated-declarations"
@@ -130,15 +130,15 @@ static CGFloat itemMargin = 5; @@ -130,15 +130,15 @@ static CGFloat itemMargin = 5;
130 _imagePickerVc.navigationBar.barTintColor = self.navigationController.navigationBar.barTintColor; 130 _imagePickerVc.navigationBar.barTintColor = self.navigationController.navigationBar.barTintColor;
131 } 131 }
132 _imagePickerVc.navigationBar.tintColor = self.navigationController.navigationBar.tintColor; 132 _imagePickerVc.navigationBar.tintColor = self.navigationController.navigationBar.tintColor;
133 - UIBarButtonItem *tzBarItem, *BarItem; 133 + UIBarButtonItem *CNTZBarItem, *BarItem;
134 if (@available(iOS 9, *)) { 134 if (@available(iOS 9, *)) {
135 - tzBarItem = [UIBarButtonItem appearanceWhenContainedInInstancesOfClasses:@[[TZImagePickerController class]]]; 135 + CNTZBarItem = [UIBarButtonItem appearanceWhenContainedInInstancesOfClasses:@[[CNTZImagePickerController class]]];
136 BarItem = [UIBarButtonItem appearanceWhenContainedInInstancesOfClasses:@[[UIImagePickerController class]]]; 136 BarItem = [UIBarButtonItem appearanceWhenContainedInInstancesOfClasses:@[[UIImagePickerController class]]];
137 } else { 137 } else {
138 - tzBarItem = [UIBarButtonItem appearanceWhenContainedIn:[TZImagePickerController class], nil]; 138 + CNTZBarItem = [UIBarButtonItem appearanceWhenContainedIn:[CNTZImagePickerController class], nil];
139 BarItem = [UIBarButtonItem appearanceWhenContainedIn:[UIImagePickerController class], nil]; 139 BarItem = [UIBarButtonItem appearanceWhenContainedIn:[UIImagePickerController class], nil];
140 } 140 }
141 - NSDictionary *titleTextAttributes = [tzBarItem titleTextAttributesForState:UIControlStateNormal]; 141 + NSDictionary *titleTextAttributes = [CNTZBarItem titleTextAttributesForState:UIControlStateNormal];
142 [BarItem setTitleTextAttributes:titleTextAttributes forState:UIControlStateNormal]; 142 [BarItem setTitleTextAttributes:titleTextAttributes forState:UIControlStateNormal];
143 } 143 }
144 return _imagePickerVc; 144 return _imagePickerVc;
@@ -148,35 +148,35 @@ static CGFloat itemMargin = 5; @@ -148,35 +148,35 @@ static CGFloat itemMargin = 5;
148 [super viewDidLoad]; 148 [super viewDidLoad];
149 _isClickDone = NO; 149 _isClickDone = NO;
150 self.isFirstAppear = YES; 150 self.isFirstAppear = YES;
151 - TZImagePickerController *tzImagePickerVc = (TZImagePickerController *)self.navigationController;  
152 - _isSelectOriginalPhoto = tzImagePickerVc.isSelectOriginalPhoto; 151 + CNTZImagePickerController *CNTZImagePickerVc = (CNTZImagePickerController *)self.navigationController;
  152 + _isSelectOriginalPhoto = CNTZImagePickerVc.isSelectOriginalPhoto;
153 _shouldScrollToBottom = YES; 153 _shouldScrollToBottom = YES;
154 self.view.backgroundColor = [UIColor whiteColor]; 154 self.view.backgroundColor = [UIColor whiteColor];
155 self.navigationItem.title = _model.name; 155 self.navigationItem.title = _model.name;
156 - self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:tzImagePickerVc.cancelBtnTitleStr style:UIBarButtonItemStylePlain target:tzImagePickerVc action:@selector(cancelButtonClick)];  
157 - if (tzImagePickerVc.navLeftBarButtonSettingBlock) { 156 + self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:CNTZImagePickerVc.cancelBtnTitleStr style:UIBarButtonItemStylePlain target:CNTZImagePickerVc action:@selector(cancelButtonClick)];
  157 + if (CNTZImagePickerVc.navLeftBarButtonSettingBlock) {
158 UIButton *leftButton = [UIButton buttonWithType:UIButtonTypeCustom]; 158 UIButton *leftButton = [UIButton buttonWithType:UIButtonTypeCustom];
159 leftButton.frame = CGRectMake(0, 0, 44, 44); 159 leftButton.frame = CGRectMake(0, 0, 44, 44);
160 [leftButton addTarget:self action:@selector(navLeftBarButtonClick) forControlEvents:UIControlEventTouchUpInside]; 160 [leftButton addTarget:self action:@selector(navLeftBarButtonClick) forControlEvents:UIControlEventTouchUpInside];
161 - tzImagePickerVc.navLeftBarButtonSettingBlock(leftButton); 161 + CNTZImagePickerVc.navLeftBarButtonSettingBlock(leftButton);
162 self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:leftButton]; 162 self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:leftButton];
163 - } else if (tzImagePickerVc.childViewControllers.count) {  
164 - [tzImagePickerVc.childViewControllers firstObject].navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:[NSBundle tz_localizedStringForKey:@"Back"] style:UIBarButtonItemStylePlain target:nil action:nil]; 163 + } else if (CNTZImagePickerVc.childViewControllers.count) {
  164 + [CNTZImagePickerVc.childViewControllers firstObject].navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:[NSBundle CNTZ_localizedStringForKey:@"Back"] style:UIBarButtonItemStylePlain target:nil action:nil];
165 } 165 }
166 - _showTakePhotoBtn = _model.isCameraRoll && ((tzImagePickerVc.allowTakePicture && tzImagePickerVc.allowPickingImage) || (tzImagePickerVc.allowTakeVideo && tzImagePickerVc.allowPickingVideo)); 166 + _showTakePhotoBtn = _model.isCameraRoll && ((CNTZImagePickerVc.allowTakePicture && CNTZImagePickerVc.allowPickingImage) || (CNTZImagePickerVc.allowTakeVideo && CNTZImagePickerVc.allowPickingVideo));
167 // [self resetCachedAssets]; 167 // [self resetCachedAssets];
168 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didChangeStatusBarOrientationNotification:) name:UIApplicationDidChangeStatusBarOrientationNotification object:nil]; 168 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didChangeStatusBarOrientationNotification:) name:UIApplicationDidChangeStatusBarOrientationNotification object:nil];
169 } 169 }
170 170
171 - (void)fetchAssetModels { 171 - (void)fetchAssetModels {
172 - TZImagePickerController *tzImagePickerVc = (TZImagePickerController *)self.navigationController; 172 + CNTZImagePickerController *CNTZImagePickerVc = (CNTZImagePickerController *)self.navigationController;
173 if (_isFirstAppear && !_model.models.count) { 173 if (_isFirstAppear && !_model.models.count) {
174 - [tzImagePickerVc showProgressHUD]; 174 + [CNTZImagePickerVc showProgressHUD];
175 } 175 }
176 __weak typeof(self) weakSelf = self; 176 __weak typeof(self) weakSelf = self;
177 dispatch_async(dispatch_get_global_queue(0, 0), ^{ 177 dispatch_async(dispatch_get_global_queue(0, 0), ^{
178 - if (!tzImagePickerVc.sortAscendingByModificationDate && self->_isFirstAppear && iOS8Later && self->_model.isCameraRoll) {  
179 - [[TZImageManager manager] getCameraRollAlbum:tzImagePickerVc.allowPickingVideo allowPickingImage:tzImagePickerVc.allowPickingImage needFetchAssets:YES completion:^(TZAlbumModel *model) { 178 + if (!CNTZImagePickerVc.sortAscendingByModificationDate && self->_isFirstAppear && iOS8Later && self->_model.isCameraRoll) {
  179 + [[CNTZImageManager manager] getCameraRollAlbum:CNTZImagePickerVc.allowPickingVideo allowPickingImage:CNTZImagePickerVc.allowPickingImage needFetchAssets:YES completion:^(CNTZAlbumModel *model) {
180 self->_model = model; 180 self->_model = model;
181 self->_models = [NSMutableArray arrayWithArray:self->_model.models]; 181 self->_models = [NSMutableArray arrayWithArray:self->_model.models];
182 [weakSelf initSubviews]; 182 [weakSelf initSubviews];
@@ -184,7 +184,7 @@ static CGFloat itemMargin = 5; @@ -184,7 +184,7 @@ static CGFloat itemMargin = 5;
184 } else { 184 } else {
185 if (self->_showTakePhotoBtn || !iOS8Later || self->_isFirstAppear) { 185 if (self->_showTakePhotoBtn || !iOS8Later || self->_isFirstAppear) {
186 __weak typeof(self) weakSelf = self; 186 __weak typeof(self) weakSelf = self;
187 - [[TZImageManager manager] getAssetsFromFetchResult:self->_model.result completion:^(NSArray<TZAssetModel *> *models) { 187 + [[CNTZImageManager manager] getAssetsFromFetchResult:self->_model.result completion:^(NSArray<CNTZAssetModel *> *models) {
188 self->_models = [NSMutableArray arrayWithArray:models]; 188 self->_models = [NSMutableArray arrayWithArray:models];
189 [weakSelf initSubviews]; 189 [weakSelf initSubviews];
190 }]; 190 }];
@@ -199,8 +199,8 @@ static CGFloat itemMargin = 5; @@ -199,8 +199,8 @@ static CGFloat itemMargin = 5;
199 - (void)initSubviews { 199 - (void)initSubviews {
200 __weak typeof(self) weakSelf = self; 200 __weak typeof(self) weakSelf = self;
201 dispatch_async(dispatch_get_main_queue(), ^{ 201 dispatch_async(dispatch_get_main_queue(), ^{
202 - TZImagePickerController *tzImagePickerVc = (TZImagePickerController *)weakSelf.navigationController;  
203 - [tzImagePickerVc hideProgressHUD]; 202 + CNTZImagePickerController *CNTZImagePickerVc = (CNTZImagePickerController *)weakSelf.navigationController;
  203 + [CNTZImagePickerVc hideProgressHUD];
204 204
205 [weakSelf checkSelectedModels]; 205 [weakSelf checkSelectedModels];
206 [weakSelf configCollectionView]; 206 [weakSelf configCollectionView];
@@ -213,8 +213,8 @@ static CGFloat itemMargin = 5; @@ -213,8 +213,8 @@ static CGFloat itemMargin = 5;
213 213
214 - (void)viewWillDisappear:(BOOL)animated { 214 - (void)viewWillDisappear:(BOOL)animated {
215 [super viewWillDisappear:animated]; 215 [super viewWillDisappear:animated];
216 - TZImagePickerController *tzImagePickerVc = (TZImagePickerController *)self.navigationController;  
217 - tzImagePickerVc.isSelectOriginalPhoto = _isSelectOriginalPhoto; 216 + CNTZImagePickerController *CNTZImagePickerVc = (CNTZImagePickerController *)self.navigationController;
  217 + CNTZImagePickerVc.isSelectOriginalPhoto = _isSelectOriginalPhoto;
218 } 218 }
219 219
220 - (BOOL)prefersStatusBarHidden { 220 - (BOOL)prefersStatusBarHidden {
@@ -223,7 +223,7 @@ static CGFloat itemMargin = 5; @@ -223,7 +223,7 @@ static CGFloat itemMargin = 5;
223 223
224 - (void)configCollectionView { 224 - (void)configCollectionView {
225 _layout = [[UICollectionViewFlowLayout alloc] init]; 225 _layout = [[UICollectionViewFlowLayout alloc] init];
226 - _collectionView = [[TZCollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:_layout]; 226 + _collectionView = [[CNTZCollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:_layout];
227 _collectionView.backgroundColor = [UIColor whiteColor]; 227 _collectionView.backgroundColor = [UIColor whiteColor];
228 _collectionView.dataSource = self; 228 _collectionView.dataSource = self;
229 _collectionView.delegate = self; 229 _collectionView.delegate = self;
@@ -231,13 +231,13 @@ static CGFloat itemMargin = 5; @@ -231,13 +231,13 @@ static CGFloat itemMargin = 5;
231 _collectionView.contentInset = UIEdgeInsetsMake(itemMargin, itemMargin, itemMargin, itemMargin); 231 _collectionView.contentInset = UIEdgeInsetsMake(itemMargin, itemMargin, itemMargin, itemMargin);
232 232
233 if (_showTakePhotoBtn) { 233 if (_showTakePhotoBtn) {
234 - _collectionView.contentSize = CGSizeMake(self.view.tz_width, ((_model.count + self.columnNumber) / self.columnNumber) * self.view.tz_width); 234 + _collectionView.contentSize = CGSizeMake(self.view.CNTZ_width, ((_model.count + self.columnNumber) / self.columnNumber) * self.view.CNTZ_width);
235 } else { 235 } else {
236 - _collectionView.contentSize = CGSizeMake(self.view.tz_width, ((_model.count + self.columnNumber - 1) / self.columnNumber) * self.view.tz_width); 236 + _collectionView.contentSize = CGSizeMake(self.view.CNTZ_width, ((_model.count + self.columnNumber - 1) / self.columnNumber) * self.view.CNTZ_width);
237 } 237 }
238 [self.view addSubview:_collectionView]; 238 [self.view addSubview:_collectionView];
239 - [_collectionView registerClass:[TZAssetCell class] forCellWithReuseIdentifier:@"TZAssetCell"];  
240 - [_collectionView registerClass:[TZAssetCameraCell class] forCellWithReuseIdentifier:@"TZAssetCameraCell"]; 239 + [_collectionView registerClass:[CNTZAssetCell class] forCellWithReuseIdentifier:@"CNTZAssetCell"];
  240 + [_collectionView registerClass:[CNTZAssetCameraCell class] forCellWithReuseIdentifier:@"CNTZAssetCameraCell"];
241 } 241 }
242 242
243 - (void)viewWillAppear:(BOOL)animated { 243 - (void)viewWillAppear:(BOOL)animated {
@@ -263,8 +263,8 @@ static CGFloat itemMargin = 5; @@ -263,8 +263,8 @@ static CGFloat itemMargin = 5;
263 } 263 }
264 264
265 - (void)configBottomToolBar { 265 - (void)configBottomToolBar {
266 - TZImagePickerController *tzImagePickerVc = (TZImagePickerController *)self.navigationController;  
267 - if (!tzImagePickerVc.showSelectBtn) return; 266 + CNTZImagePickerController *CNTZImagePickerVc = (CNTZImagePickerController *)self.navigationController;
  267 + if (!CNTZImagePickerVc.showSelectBtn) return;
268 268
269 _bottomToolBar = [[UIView alloc] initWithFrame:CGRectZero]; 269 _bottomToolBar = [[UIView alloc] initWithFrame:CGRectZero];
270 CGFloat rgb = 253 / 255.0; 270 CGFloat rgb = 253 / 255.0;
@@ -273,27 +273,27 @@ static CGFloat itemMargin = 5; @@ -273,27 +273,27 @@ static CGFloat itemMargin = 5;
273 _previewButton = [UIButton buttonWithType:UIButtonTypeCustom]; 273 _previewButton = [UIButton buttonWithType:UIButtonTypeCustom];
274 [_previewButton addTarget:self action:@selector(previewButtonClick) forControlEvents:UIControlEventTouchUpInside]; 274 [_previewButton addTarget:self action:@selector(previewButtonClick) forControlEvents:UIControlEventTouchUpInside];
275 _previewButton.titleLabel.font = [UIFont systemFontOfSize:16]; 275 _previewButton.titleLabel.font = [UIFont systemFontOfSize:16];
276 - [_previewButton setTitle:tzImagePickerVc.previewBtnTitleStr forState:UIControlStateNormal];  
277 - [_previewButton setTitle:tzImagePickerVc.previewBtnTitleStr forState:UIControlStateDisabled]; 276 + [_previewButton setTitle:CNTZImagePickerVc.previewBtnTitleStr forState:UIControlStateNormal];
  277 + [_previewButton setTitle:CNTZImagePickerVc.previewBtnTitleStr forState:UIControlStateDisabled];
278 [_previewButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; 278 [_previewButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
279 [_previewButton setTitleColor:[UIColor lightGrayColor] forState:UIControlStateDisabled]; 279 [_previewButton setTitleColor:[UIColor lightGrayColor] forState:UIControlStateDisabled];
280 - _previewButton.enabled = tzImagePickerVc.selectedModels.count; 280 + _previewButton.enabled = CNTZImagePickerVc.selectedModels.count;
281 281
282 - if (tzImagePickerVc.allowPickingOriginalPhoto) { 282 + if (CNTZImagePickerVc.allowPickingOriginalPhoto) {
283 _originalPhotoButton = [UIButton buttonWithType:UIButtonTypeCustom]; 283 _originalPhotoButton = [UIButton buttonWithType:UIButtonTypeCustom];
284 _originalPhotoButton.imageEdgeInsets = UIEdgeInsetsMake(0, -10, 0, 0); 284 _originalPhotoButton.imageEdgeInsets = UIEdgeInsetsMake(0, -10, 0, 0);
285 [_originalPhotoButton addTarget:self action:@selector(originalPhotoButtonClick) forControlEvents:UIControlEventTouchUpInside]; 285 [_originalPhotoButton addTarget:self action:@selector(originalPhotoButtonClick) forControlEvents:UIControlEventTouchUpInside];
286 _originalPhotoButton.titleLabel.font = [UIFont systemFontOfSize:16]; 286 _originalPhotoButton.titleLabel.font = [UIFont systemFontOfSize:16];
287 - [_originalPhotoButton setTitle:tzImagePickerVc.fullImageBtnTitleStr forState:UIControlStateNormal];  
288 - [_originalPhotoButton setTitle:tzImagePickerVc.fullImageBtnTitleStr forState:UIControlStateSelected]; 287 + [_originalPhotoButton setTitle:CNTZImagePickerVc.fullImageBtnTitleStr forState:UIControlStateNormal];
  288 + [_originalPhotoButton setTitle:CNTZImagePickerVc.fullImageBtnTitleStr forState:UIControlStateSelected];
289 [_originalPhotoButton setTitleColor:[UIColor lightGrayColor] forState:UIControlStateNormal]; 289 [_originalPhotoButton setTitleColor:[UIColor lightGrayColor] forState:UIControlStateNormal];
290 [_originalPhotoButton setTitleColor:[UIColor blackColor] forState:UIControlStateSelected]; 290 [_originalPhotoButton setTitleColor:[UIColor blackColor] forState:UIControlStateSelected];
291 - [_originalPhotoButton setImage:tzImagePickerVc.photoOriginDefImage forState:UIControlStateNormal];  
292 - [_originalPhotoButton setImage:tzImagePickerVc.photoOriginSelImage forState:UIControlStateSelected]; 291 + [_originalPhotoButton setImage:CNTZImagePickerVc.photoOriginDefImage forState:UIControlStateNormal];
  292 + [_originalPhotoButton setImage:CNTZImagePickerVc.photoOriginSelImage forState:UIControlStateSelected];
293 _originalPhotoButton.imageView.clipsToBounds = YES; 293 _originalPhotoButton.imageView.clipsToBounds = YES;
294 _originalPhotoButton.imageView.contentMode = UIViewContentModeScaleAspectFit; 294 _originalPhotoButton.imageView.contentMode = UIViewContentModeScaleAspectFit;
295 _originalPhotoButton.selected = _isSelectOriginalPhoto; 295 _originalPhotoButton.selected = _isSelectOriginalPhoto;
296 - _originalPhotoButton.enabled = tzImagePickerVc.selectedModels.count > 0; 296 + _originalPhotoButton.enabled = CNTZImagePickerVc.selectedModels.count > 0;
297 297
298 _originalPhotoLabel = [[UILabel alloc] init]; 298 _originalPhotoLabel = [[UILabel alloc] init];
299 _originalPhotoLabel.textAlignment = NSTextAlignmentLeft; 299 _originalPhotoLabel.textAlignment = NSTextAlignmentLeft;
@@ -305,14 +305,14 @@ static CGFloat itemMargin = 5; @@ -305,14 +305,14 @@ static CGFloat itemMargin = 5;
305 _doneButton = [UIButton buttonWithType:UIButtonTypeCustom]; 305 _doneButton = [UIButton buttonWithType:UIButtonTypeCustom];
306 _doneButton.titleLabel.font = [UIFont systemFontOfSize:16]; 306 _doneButton.titleLabel.font = [UIFont systemFontOfSize:16];
307 [_doneButton addTarget:self action:@selector(doneButtonClick) forControlEvents:UIControlEventTouchUpInside]; 307 [_doneButton addTarget:self action:@selector(doneButtonClick) forControlEvents:UIControlEventTouchUpInside];
308 - [_doneButton setTitle:tzImagePickerVc.doneBtnTitleStr forState:UIControlStateNormal];  
309 - [_doneButton setTitle:tzImagePickerVc.doneBtnTitleStr forState:UIControlStateDisabled];  
310 - [_doneButton setTitleColor:tzImagePickerVc.oKButtonTitleColorNormal forState:UIControlStateNormal];  
311 - [_doneButton setTitleColor:tzImagePickerVc.oKButtonTitleColorDisabled forState:UIControlStateDisabled];  
312 - _doneButton.enabled = tzImagePickerVc.selectedModels.count || tzImagePickerVc.alwaysEnableDoneBtn; 308 + [_doneButton setTitle:CNTZImagePickerVc.doneBtnTitleStr forState:UIControlStateNormal];
  309 + [_doneButton setTitle:CNTZImagePickerVc.doneBtnTitleStr forState:UIControlStateDisabled];
  310 + [_doneButton setTitleColor:CNTZImagePickerVc.oKButtonTitleColorNormal forState:UIControlStateNormal];
  311 + [_doneButton setTitleColor:CNTZImagePickerVc.oKButtonTitleColorDisabled forState:UIControlStateDisabled];
  312 + _doneButton.enabled = CNTZImagePickerVc.selectedModels.count || CNTZImagePickerVc.alwaysEnableDoneBtn;
313 313
314 - _numberImageView = [[UIImageView alloc] initWithImage:tzImagePickerVc.photoNumberIconImage];  
315 - _numberImageView.hidden = tzImagePickerVc.selectedModels.count <= 0; 314 + _numberImageView = [[UIImageView alloc] initWithImage:CNTZImagePickerVc.photoNumberIconImage];
  315 + _numberImageView.hidden = CNTZImagePickerVc.selectedModels.count <= 0;
316 _numberImageView.clipsToBounds = YES; 316 _numberImageView.clipsToBounds = YES;
317 _numberImageView.contentMode = UIViewContentModeScaleAspectFit; 317 _numberImageView.contentMode = UIViewContentModeScaleAspectFit;
318 _numberImageView.backgroundColor = [UIColor clearColor]; 318 _numberImageView.backgroundColor = [UIColor clearColor];
@@ -321,13 +321,13 @@ static CGFloat itemMargin = 5; @@ -321,13 +321,13 @@ static CGFloat itemMargin = 5;
321 _numberLabel.font = [UIFont systemFontOfSize:15]; 321 _numberLabel.font = [UIFont systemFontOfSize:15];
322 _numberLabel.textColor = [UIColor whiteColor]; 322 _numberLabel.textColor = [UIColor whiteColor];
323 _numberLabel.textAlignment = NSTextAlignmentCenter; 323 _numberLabel.textAlignment = NSTextAlignmentCenter;
324 - _numberLabel.text = [NSString stringWithFormat:@"%zd",tzImagePickerVc.selectedModels.count];  
325 - _numberLabel.hidden = tzImagePickerVc.selectedModels.count <= 0; 324 + _numberLabel.text = [NSString stringWithFormat:@"%zd",CNTZImagePickerVc.selectedModels.count];
  325 + _numberLabel.hidden = CNTZImagePickerVc.selectedModels.count <= 0;
326 _numberLabel.backgroundColor = [UIColor clearColor]; 326 _numberLabel.backgroundColor = [UIColor clearColor];
327 #pragma mark - 添加: 选择图片个数显示(LXG) 327 #pragma mark - 添加: 选择图片个数显示(LXG)
328 _numberImageView.hidden = YES; 328 _numberImageView.hidden = YES;
329 _numberLabel.hidden = YES; 329 _numberLabel.hidden = YES;
330 - [_doneButton setTitle:[NSString stringWithFormat:@"完成(%zd)",tzImagePickerVc.selectedModels.count] forState:UIControlStateNormal]; 330 + [_doneButton setTitle:[NSString stringWithFormat:@"完成(%zd)",CNTZImagePickerVc.selectedModels.count] forState:UIControlStateNormal];
331 331
332 _divideLine = [[UIView alloc] init]; 332 _divideLine = [[UIView alloc] init];
333 CGFloat rgb2 = 222 / 255.0; 333 CGFloat rgb2 = 222 / 255.0;
@@ -342,8 +342,8 @@ static CGFloat itemMargin = 5; @@ -342,8 +342,8 @@ static CGFloat itemMargin = 5;
342 [self.view addSubview:_bottomToolBar]; 342 [self.view addSubview:_bottomToolBar];
343 [_originalPhotoButton addSubview:_originalPhotoLabel]; 343 [_originalPhotoButton addSubview:_originalPhotoLabel];
344 344
345 - if (tzImagePickerVc.photoPickerPageUIConfigBlock) {  
346 - tzImagePickerVc.photoPickerPageUIConfigBlock(_collectionView, _bottomToolBar, _previewButton, _originalPhotoButton, _originalPhotoLabel, _doneButton, _numberImageView, _numberLabel, _divideLine); 345 + if (CNTZImagePickerVc.photoPickerPageUIConfigBlock) {
  346 + CNTZImagePickerVc.photoPickerPageUIConfigBlock(_collectionView, _bottomToolBar, _previewButton, _originalPhotoButton, _originalPhotoLabel, _doneButton, _numberImageView, _numberLabel, _divideLine);
347 } 347 }
348 } 348 }
349 349
@@ -352,22 +352,22 @@ static CGFloat itemMargin = 5; @@ -352,22 +352,22 @@ static CGFloat itemMargin = 5;
352 - (void)viewDidLayoutSubviews { 352 - (void)viewDidLayoutSubviews {
353 [super viewDidLayoutSubviews]; 353 [super viewDidLayoutSubviews];
354 354
355 - TZImagePickerController *tzImagePickerVc = (TZImagePickerController *)self.navigationController; 355 + CNTZImagePickerController *CNTZImagePickerVc = (CNTZImagePickerController *)self.navigationController;
356 356
357 CGFloat top = 0; 357 CGFloat top = 0;
358 CGFloat collectionViewHeight = 0; 358 CGFloat collectionViewHeight = 0;
359 - CGFloat naviBarHeight = self.navigationController.navigationBar.tz_height; 359 + CGFloat naviBarHeight = self.navigationController.navigationBar.CNTZ_height;
360 BOOL isStatusBarHidden = [UIApplication sharedApplication].isStatusBarHidden; 360 BOOL isStatusBarHidden = [UIApplication sharedApplication].isStatusBarHidden;
361 - CGFloat toolBarHeight = [TZCommonTools tz_isIPhoneX] ? 50 + (83 - 49) : 50; 361 + CGFloat toolBarHeight = [CNTZCommonTools CNTZ_isIPhoneX] ? 50 + (83 - 49) : 50;
362 if (self.navigationController.navigationBar.isTranslucent) { 362 if (self.navigationController.navigationBar.isTranslucent) {
363 top = naviBarHeight; 363 top = naviBarHeight;
364 - if (iOS7Later && !isStatusBarHidden) top += [TZCommonTools tz_statusBarHeight];  
365 - collectionViewHeight = tzImagePickerVc.showSelectBtn ? self.view.tz_height - toolBarHeight - top : self.view.tz_height - top;; 364 + if (iOS7Later && !isStatusBarHidden) top += [CNTZCommonTools CNTZ_statusBarHeight];
  365 + collectionViewHeight = CNTZImagePickerVc.showSelectBtn ? self.view.CNTZ_height - toolBarHeight - top : self.view.CNTZ_height - top;;
366 } else { 366 } else {
367 - collectionViewHeight = tzImagePickerVc.showSelectBtn ? self.view.tz_height - toolBarHeight : self.view.tz_height; 367 + collectionViewHeight = CNTZImagePickerVc.showSelectBtn ? self.view.CNTZ_height - toolBarHeight : self.view.CNTZ_height;
368 } 368 }
369 - _collectionView.frame = CGRectMake(0, top, self.view.tz_width, collectionViewHeight);  
370 - CGFloat itemWH = (self.view.tz_width - (self.columnNumber + 1) * itemMargin) / self.columnNumber; 369 + _collectionView.frame = CGRectMake(0, top, self.view.CNTZ_width, collectionViewHeight);
  370 + CGFloat itemWH = (self.view.CNTZ_width - (self.columnNumber + 1) * itemMargin) / self.columnNumber;
371 _layout.itemSize = CGSizeMake(itemWH, itemWH); 371 _layout.itemSize = CGSizeMake(itemWH, itemWH);
372 _layout.minimumInteritemSpacing = itemMargin; 372 _layout.minimumInteritemSpacing = itemMargin;
373 _layout.minimumLineSpacing = itemMargin; 373 _layout.minimumLineSpacing = itemMargin;
@@ -379,35 +379,35 @@ static CGFloat itemMargin = 5; @@ -379,35 +379,35 @@ static CGFloat itemMargin = 5;
379 379
380 CGFloat toolBarTop = 0; 380 CGFloat toolBarTop = 0;
381 if (!self.navigationController.navigationBar.isHidden) { 381 if (!self.navigationController.navigationBar.isHidden) {
382 - toolBarTop = self.view.tz_height - toolBarHeight; 382 + toolBarTop = self.view.CNTZ_height - toolBarHeight;
383 } else { 383 } else {
384 CGFloat navigationHeight = naviBarHeight; 384 CGFloat navigationHeight = naviBarHeight;
385 - if (iOS7Later) navigationHeight += [TZCommonTools tz_statusBarHeight];  
386 - toolBarTop = self.view.tz_height - toolBarHeight - navigationHeight; 385 + if (iOS7Later) navigationHeight += [CNTZCommonTools CNTZ_statusBarHeight];
  386 + toolBarTop = self.view.CNTZ_height - toolBarHeight - navigationHeight;
387 } 387 }
388 - _bottomToolBar.frame = CGRectMake(0, toolBarTop, self.view.tz_width, toolBarHeight);  
389 - CGFloat previewWidth = [tzImagePickerVc.previewBtnTitleStr tz_calculateSizeWithAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:16]} maxSize:CGSizeMake(CGFLOAT_MAX, CGFLOAT_MAX)].width + 2;  
390 - if (!tzImagePickerVc.allowPreview) { 388 + _bottomToolBar.frame = CGRectMake(0, toolBarTop, self.view.CNTZ_width, toolBarHeight);
  389 + CGFloat previewWidth = [CNTZImagePickerVc.previewBtnTitleStr CNTZ_calculateSizeWithAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:16]} maxSize:CGSizeMake(CGFLOAT_MAX, CGFLOAT_MAX)].width + 2;
  390 + if (!CNTZImagePickerVc.allowPreview) {
391 previewWidth = 0.0; 391 previewWidth = 0.0;
392 } 392 }
393 _previewButton.frame = CGRectMake(10, 3, previewWidth, 44); 393 _previewButton.frame = CGRectMake(10, 3, previewWidth, 44);
394 - _previewButton.tz_width = !tzImagePickerVc.showSelectBtn ? 0 : previewWidth;  
395 - if (tzImagePickerVc.allowPickingOriginalPhoto) {  
396 - CGFloat fullImageWidth = [tzImagePickerVc.fullImageBtnTitleStr tz_calculateSizeWithAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:13]} maxSize:CGSizeMake(CGFLOAT_MAX, CGFLOAT_MAX)].width; 394 + _previewButton.CNTZ_width = !CNTZImagePickerVc.showSelectBtn ? 0 : previewWidth;
  395 + if (CNTZImagePickerVc.allowPickingOriginalPhoto) {
  396 + CGFloat fullImageWidth = [CNTZImagePickerVc.fullImageBtnTitleStr CNTZ_calculateSizeWithAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:13]} maxSize:CGSizeMake(CGFLOAT_MAX, CGFLOAT_MAX)].width;
397 _originalPhotoButton.frame = CGRectMake(CGRectGetMaxX(_previewButton.frame), 0, fullImageWidth + 56, 50); 397 _originalPhotoButton.frame = CGRectMake(CGRectGetMaxX(_previewButton.frame), 0, fullImageWidth + 56, 50);
398 _originalPhotoLabel.frame = CGRectMake(fullImageWidth + 46, 0, 80, 50); 398 _originalPhotoLabel.frame = CGRectMake(fullImageWidth + 46, 0, 80, 50);
399 } 399 }
400 [_doneButton sizeToFit]; 400 [_doneButton sizeToFit];
401 - _doneButton.frame = CGRectMake(self.view.tz_width - 60 - 12, 0, 60, 50);  
402 - _numberImageView.frame = CGRectMake(_doneButton.tz_left - 24 - 5, 13, 24, 24); 401 + _doneButton.frame = CGRectMake(self.view.CNTZ_width - _doneButton.CNTZ_width - 12, 0, _doneButton.CNTZ_width, 50);
  402 + _numberImageView.frame = CGRectMake(_doneButton.CNTZ_left - 24 - 5, 13, 24, 24);
403 _numberLabel.frame = _numberImageView.frame; 403 _numberLabel.frame = _numberImageView.frame;
404 - _divideLine.frame = CGRectMake(0, 0, self.view.tz_width, 1); 404 + _divideLine.frame = CGRectMake(0, 0, self.view.CNTZ_width, 1);
405 405
406 - [TZImageManager manager].columnNumber = [TZImageManager manager].columnNumber; 406 + [CNTZImageManager manager].columnNumber = [CNTZImageManager manager].columnNumber;
407 [self.collectionView reloadData]; 407 [self.collectionView reloadData];
408 408
409 - if (tzImagePickerVc.photoPickerPageDidLayoutSubviewsBlock) {  
410 - tzImagePickerVc.photoPickerPageDidLayoutSubviewsBlock(_collectionView, _bottomToolBar, _previewButton, _originalPhotoButton, _originalPhotoLabel, _doneButton, _numberImageView, _numberLabel, _divideLine); 409 + if (CNTZImagePickerVc.photoPickerPageDidLayoutSubviewsBlock) {
  410 + CNTZImagePickerVc.photoPickerPageDidLayoutSubviewsBlock(_collectionView, _bottomToolBar, _previewButton, _originalPhotoButton, _originalPhotoLabel, _doneButton, _numberImageView, _numberLabel, _divideLine);
411 } 411 }
412 } 412 }
413 413
@@ -424,7 +424,7 @@ static CGFloat itemMargin = 5; @@ -424,7 +424,7 @@ static CGFloat itemMargin = 5;
424 424
425 - (void)previewButtonClick { 425 - (void)previewButtonClick {
426 //根据进入方式不同判断 426 //根据进入方式不同判断
427 - TZPhotoPreviewController *photoPreviewVc = [[TZPhotoPreviewController alloc] init]; 427 + CNTZPhotoPreviewController *photoPreviewVc = [[CNTZPhotoPreviewController alloc] init];
428 photoPreviewVc.enterType = PhotoPreviewEnterTypeSelected; 428 photoPreviewVc.enterType = PhotoPreviewEnterTypeSelected;
429 [self pushPhotoPrevireViewController:photoPreviewVc needCheckSelectedModels:YES]; 429 [self pushPhotoPrevireViewController:photoPreviewVc needCheckSelectedModels:YES];
430 } 430 }
@@ -442,15 +442,15 @@ static CGFloat itemMargin = 5; @@ -442,15 +442,15 @@ static CGFloat itemMargin = 5;
442 #pragma mark - TODO: done 完成 442 #pragma mark - TODO: done 完成
443 - (void)doneButtonClick { 443 - (void)doneButtonClick {
444 NSLog(@"-----相册完成选择----"); 444 NSLog(@"-----相册完成选择----");
445 - TZImagePickerController *tzImagePickerVc = (TZImagePickerController *)self.navigationController; 445 + CNTZImagePickerController *CNTZImagePickerVc = (CNTZImagePickerController *)self.navigationController;
446 #pragma mark - 筛选 446 #pragma mark - 筛选
447 /*** 筛选 ***/ 447 /*** 筛选 ***/
448 __block BOOL isBad = NO; 448 __block BOOL isBad = NO;
449 __weak typeof(self) weakSelf = self; 449 __weak typeof(self) weakSelf = self;
450 - [tzImagePickerVc.selectedModels enumerateObjectsWithOptions:NSEnumerationReverse usingBlock:^(TZAssetModel * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { 450 + [CNTZImagePickerVc.selectedModels enumerateObjectsWithOptions:NSEnumerationReverse usingBlock:^(CNTZAssetModel * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
451 451
452 /*** 筛选损坏视频 ***/ 452 /*** 筛选损坏视频 ***/
453 - if (obj.type == TZAssetModelMediaTypeVideo) { 453 + if (obj.type == CNTZAssetModelMediaTypeVideo) {
454 NSURL *url = [obj.asset movieURL]; 454 NSURL *url = [obj.asset movieURL];
455 if (!url) { 455 if (!url) {
456 isBad = YES; 456 isBad = YES;
@@ -459,8 +459,8 @@ static CGFloat itemMargin = 5; @@ -459,8 +459,8 @@ static CGFloat itemMargin = 5;
459 } 459 }
460 460
461 /*** 筛选损坏图片 ***/ 461 /*** 筛选损坏图片 ***/
462 - if (obj.type == TZAssetModelMediaTypePhotoGif  
463 - || obj.type == TZAssetModelMediaTypePhoto) { 462 + if (obj.type == CNTZAssetModelMediaTypePhotoGif
  463 + || obj.type == CNTZAssetModelMediaTypePhoto) {
464 464
465 UIImage *photo = [obj.asset getPhoto]; 465 UIImage *photo = [obj.asset getPhoto];
466 if (!photo) { 466 if (!photo) {
@@ -473,7 +473,7 @@ static CGFloat itemMargin = 5; @@ -473,7 +473,7 @@ static CGFloat itemMargin = 5;
473 473
474 if (isBad) { 474 if (isBad) {
475 NSString *imgShowStr = [NSString stringWithFormat:@"选择中内容已损坏,已从选中删除"]; 475 NSString *imgShowStr = [NSString stringWithFormat:@"选择中内容已损坏,已从选中删除"];
476 - [tzImagePickerVc showAlertWithTitle:imgShowStr]; 476 + [CNTZImagePickerVc showAlertWithTitle:imgShowStr];
477 [weakSelf checkSelectedModels]; 477 [weakSelf checkSelectedModels];
478 [weakSelf refreshBottomToolBarStatus]; 478 [weakSelf refreshBottomToolBarStatus];
479 [weakSelf.collectionView reloadData]; 479 [weakSelf.collectionView reloadData];
@@ -492,17 +492,24 @@ static CGFloat itemMargin = 5; @@ -492,17 +492,24 @@ static CGFloat itemMargin = 5;
492 } 492 }
493 493
494 // 1.6.8 判断是否满足最小必选张数的限制 494 // 1.6.8 判断是否满足最小必选张数的限制
495 - if (tzImagePickerVc.minImagesCount && tzImagePickerVc.selectedModels.count < tzImagePickerVc.minImagesCount) {  
496 - NSString *title = [NSString stringWithFormat:[NSBundle tz_localizedStringForKey:@"Select a minimum of %zd photos"], tzImagePickerVc.minImagesCount];  
497 - [tzImagePickerVc showAlertWithTitle:title]; 495 + if (CNTZImagePickerVc.minImagesCount && CNTZImagePickerVc.selectedModels.count < CNTZImagePickerVc.minImagesCount) {
  496 + NSString *title = [NSString stringWithFormat:[NSBundle CNTZ_localizedStringForKey:@"Select a minimum of %zd photos"], CNTZImagePickerVc.minImagesCount];
  497 + [CNTZImagePickerVc showAlertWithTitle:title];
498 return; 498 return;
499 } 499 }
500 500
501 501
502 dispatch_async(dispatch_get_main_queue(), ^{ 502 dispatch_async(dispatch_get_main_queue(), ^{
503 - [tzImagePickerVc showProgressHUD]; 503 + [CNTZImagePickerVc showProgressHUD];
504 }); 504 });
  505 + NSString *outputPath = @"";
  506 + if ([NSString isEmpty:CNTZImagePickerVc.conversationId]) {
  507 + outputPath = [CNLiveBusinessTools chatFilePathByUserId:CNUserShareModel.uid];
  508 + }else{
505 509
  510 + outputPath = [CNLiveBusinessTools getChatImageAndVideoUploadIMCacheDirectory];
  511 +
  512 + }
506 dispatch_async(dispatch_get_global_queue(0, 0), ^{ 513 dispatch_async(dispatch_get_global_queue(0, 0), ^{
507 NSMutableArray *selectedModels = [NSMutableArray array]; 514 NSMutableArray *selectedModels = [NSMutableArray array];
508 NSMutableArray *assets = [NSMutableArray array]; 515 NSMutableArray *assets = [NSMutableArray array];
@@ -510,15 +517,15 @@ static CGFloat itemMargin = 5; @@ -510,15 +517,15 @@ static CGFloat itemMargin = 5;
510 NSMutableArray *infoArr = [NSMutableArray array]; 517 NSMutableArray *infoArr = [NSMutableArray array];
511 518
512 dispatch_queue_t queue = dispatch_queue_create("export", DISPATCH_QUEUE_SERIAL);//串行 519 dispatch_queue_t queue = dispatch_queue_create("export", DISPATCH_QUEUE_SERIAL);//串行
513 - if (tzImagePickerVc.onlyReturnAsset) {  
514 - for (NSInteger i = 0; i < tzImagePickerVc.selectedModels.count; i++) {  
515 - TZAssetModel *model = tzImagePickerVc.selectedModels[i]; 520 + if (CNTZImagePickerVc.onlyReturnAsset) {
  521 + for (NSInteger i = 0; i < CNTZImagePickerVc.selectedModels.count; i++) {
  522 + CNTZAssetModel *model = CNTZImagePickerVc.selectedModels[i];
516 [assets addObject:model.asset]; 523 [assets addObject:model.asset];
517 } 524 }
518 525
519 }else { 526 }else {
520 /*** 默认添加数字站位 ***/ 527 /*** 默认添加数字站位 ***/
521 - for (NSInteger i = 0; i < tzImagePickerVc.selectedModels.count; i++) { 528 + for (NSInteger i = 0; i < CNTZImagePickerVc.selectedModels.count; i++) {
522 529
523 [selectedModels addObject:@1]; 530 [selectedModels addObject:@1];
524 [photos addObject:@1]; 531 [photos addObject:@1];
@@ -529,16 +536,16 @@ static CGFloat itemMargin = 5; @@ -529,16 +536,16 @@ static CGFloat itemMargin = 5;
529 536
530 __block BOOL havenotShowAlert = YES; 537 __block BOOL havenotShowAlert = YES;
531 __block id alertView; 538 __block id alertView;
532 - [TZImageManager manager].shouldFixOrientation = YES;  
533 - for (NSInteger i = 0; i < tzImagePickerVc.selectedModels.count; i++) {  
534 - TZAssetModel *model = tzImagePickerVc.selectedModels[i]; 539 + [CNTZImageManager manager].shouldFixOrientation = YES;
  540 + for (NSInteger i = 0; i < CNTZImagePickerVc.selectedModels.count; i++) {
  541 + CNTZAssetModel *model = CNTZImagePickerVc.selectedModels[i];
535 ///导出 542 ///导出
536 dispatch_sync(queue, ^{ 543 dispatch_sync(queue, ^{
537 // 判断是否导出视频url 544 // 判断是否导出视频url
538 - if (tzImagePickerVc.isExportVideo) {  
539 - if (model.type == TZAssetModelMediaTypeVideo) 545 + if (CNTZImagePickerVc.isExportVideo) {
  546 + if (model.type == CNTZAssetModelMediaTypeVideo)
540 { 547 {
541 - model.exportURL = [weakSelf getURLWithModel:model]; 548 + model.exportURL = [weakSelf getURLWithModel:model outputPath:outputPath];
542 } 549 }
543 [selectedModels replaceObjectAtIndex:i withObject:model]; 550 [selectedModels replaceObjectAtIndex:i withObject:model];
544 } 551 }
@@ -549,11 +556,11 @@ static CGFloat itemMargin = 5; @@ -549,11 +556,11 @@ static CGFloat itemMargin = 5;
549 dispatch_sync(queue, ^{ 556 dispatch_sync(queue, ^{
550 557
551 /*** 根据asset取图片 ***/ 558 /*** 根据asset取图片 ***/
552 - [[TZImageManager manager] getPhotoWithAsset:model.asset completion:^(UIImage *photo, NSDictionary *info, BOOL isDegraded) { 559 + [[CNTZImageManager manager] getPhotoWithAsset:model.asset completion:^(UIImage *photo, NSDictionary *info, BOOL isDegraded) {
553 if (isDegraded) return; 560 if (isDegraded) return;
554 if (photo) { 561 if (photo) {
555 - if (![TZImagePickerConfig sharedInstance].notScaleImage) {  
556 - photo = [[TZImageManager manager] scaleImage:photo toSize:CGSizeMake(tzImagePickerVc.photoWidth, (int)(tzImagePickerVc.photoWidth * photo.size.height / photo.size.width))]; 562 + if (![CNTZImagePickerConfig sharedInstance].notScaleImage) {
  563 + photo = [[CNTZImageManager manager] scaleImage:photo toSize:CGSizeMake(CNTZImagePickerVc.photoWidth, (int)(CNTZImagePickerVc.photoWidth * photo.size.height / photo.size.width))];
557 } 564 }
558 [photos replaceObjectAtIndex:i withObject:photo]; 565 [photos replaceObjectAtIndex:i withObject:photo];
559 } 566 }
@@ -571,10 +578,10 @@ static CGFloat itemMargin = 5; @@ -571,10 +578,10 @@ static CGFloat itemMargin = 5;
571 } 578 }
572 } 579 }
573 580
574 - if (tzImagePickerVc.maxImagesCount == 1 && tzImagePickerVc.allowPickingVideo == NO) { 581 + if (CNTZImagePickerVc.maxImagesCount == 1 && CNTZImagePickerVc.allowPickingVideo == NO) {
575 dispatch_async(dispatch_get_main_queue(), ^{ 582 dispatch_async(dispatch_get_main_queue(), ^{
576 - [tzImagePickerVc hideProgressHUD];  
577 - [tzImagePickerVc hideAlertView:alertView]; 583 + [CNTZImagePickerVc hideProgressHUD];
  584 + [CNTZImagePickerVc hideAlertView:alertView];
578 }); 585 });
579 [weakSelf didGetAllPhotos:photos assets:assets selectedModels:selectedModels infoArr:infoArr]; 586 [weakSelf didGetAllPhotos:photos assets:assets selectedModels:selectedModels infoArr:infoArr];
580 return; 587 return;
@@ -582,8 +589,8 @@ static CGFloat itemMargin = 5; @@ -582,8 +589,8 @@ static CGFloat itemMargin = 5;
582 589
583 if (havenotShowAlert) { 590 if (havenotShowAlert) {
584 dispatch_async(dispatch_get_main_queue(), ^{ 591 dispatch_async(dispatch_get_main_queue(), ^{
585 - [tzImagePickerVc hideProgressHUD];  
586 - [tzImagePickerVc hideAlertView:alertView]; 592 + [CNTZImagePickerVc hideProgressHUD];
  593 + [CNTZImagePickerVc hideAlertView:alertView];
587 }); 594 });
588 [weakSelf didGetAllPhotos:photos assets:assets selectedModels:selectedModels infoArr:infoArr]; 595 [weakSelf didGetAllPhotos:photos assets:assets selectedModels:selectedModels infoArr:infoArr];
589 } 596 }
@@ -591,9 +598,9 @@ static CGFloat itemMargin = 5; @@ -591,9 +598,9 @@ static CGFloat itemMargin = 5;
591 // 如果图片正在从iCloud同步中,提醒用户 598 // 如果图片正在从iCloud同步中,提醒用户
592 if (progress < 1 && havenotShowAlert && !alertView) { 599 if (progress < 1 && havenotShowAlert && !alertView) {
593 dispatch_async(dispatch_get_main_queue(), ^{ 600 dispatch_async(dispatch_get_main_queue(), ^{
594 - [tzImagePickerVc hideProgressHUD]; 601 + [CNTZImagePickerVc hideProgressHUD];
595 }); 602 });
596 - alertView = [tzImagePickerVc showAlertWithTitle:[NSBundle tz_localizedStringForKey:@"Synchronizing photos from iCloud"]]; 603 + alertView = [CNTZImagePickerVc showAlertWithTitle:[NSBundle CNTZ_localizedStringForKey:@"Synchronizing photos from iCloud"]];
597 havenotShowAlert = NO; 604 havenotShowAlert = NO;
598 605
599 if (self->_isClickDone) { 606 if (self->_isClickDone) {
@@ -615,9 +622,9 @@ static CGFloat itemMargin = 5; @@ -615,9 +622,9 @@ static CGFloat itemMargin = 5;
615 622
616 623
617 /*** 当只有返回Asset 和 没选择时走 ***/ 624 /*** 当只有返回Asset 和 没选择时走 ***/
618 - if (tzImagePickerVc.selectedModels.count <= 0 || tzImagePickerVc.onlyReturnAsset) { 625 + if (CNTZImagePickerVc.selectedModels.count <= 0 || CNTZImagePickerVc.onlyReturnAsset) {
619 dispatch_async(dispatch_get_main_queue(), ^{ 626 dispatch_async(dispatch_get_main_queue(), ^{
620 - [tzImagePickerVc hideProgressHUD]; 627 + [CNTZImagePickerVc hideProgressHUD];
621 }); 628 });
622 629
623 [weakSelf didGetAllPhotos:photos assets:assets selectedModels:selectedModels infoArr:infoArr]; 630 [weakSelf didGetAllPhotos:photos assets:assets selectedModels:selectedModels infoArr:infoArr];
@@ -633,15 +640,15 @@ static CGFloat itemMargin = 5; @@ -633,15 +640,15 @@ static CGFloat itemMargin = 5;
633 // NSMutableArray *assets = [NSMutableArray array]; 640 // NSMutableArray *assets = [NSMutableArray array];
634 // NSMutableArray *photos; 641 // NSMutableArray *photos;
635 // NSMutableArray *infoArr; 642 // NSMutableArray *infoArr;
636 -// if (tzImagePickerVc.onlyReturnAsset) { // not fetch image  
637 -// for (NSInteger i = 0; i < tzImagePickerVc.selectedModels.count; i++) {  
638 -// TZAssetModel *model = tzImagePickerVc.selectedModels[i]; 643 +// if (CNTZImagePickerVc.onlyReturnAsset) { // not fetch image
  644 +// for (NSInteger i = 0; i < CNTZImagePickerVc.selectedModels.count; i++) {
  645 +// CNTZAssetModel *model = CNTZImagePickerVc.selectedModels[i];
639 // [assets addObject:model.asset]; 646 // [assets addObject:model.asset];
640 // } 647 // }
641 // } else { // fetch image 648 // } else { // fetch image
642 // photos = [NSMutableArray array]; 649 // photos = [NSMutableArray array];
643 // infoArr = [NSMutableArray array]; 650 // infoArr = [NSMutableArray array];
644 -// for (NSInteger i = 0; i < tzImagePickerVc.selectedModels.count; i++) { 651 +// for (NSInteger i = 0; i < CNTZImagePickerVc.selectedModels.count; i++) {
645 // 652 //
646 // [selectedModels addObject:@1]; 653 // [selectedModels addObject:@1];
647 // [photos addObject:@1]; 654 // [photos addObject:@1];
@@ -651,14 +658,14 @@ static CGFloat itemMargin = 5; @@ -651,14 +658,14 @@ static CGFloat itemMargin = 5;
651 // } 658 // }
652 // 659 //
653 // __block BOOL havenotShowAlert = YES; 660 // __block BOOL havenotShowAlert = YES;
654 -// [TZImageManager manager].shouldFixOrientation = YES; 661 +// [CNTZImageManager manager].shouldFixOrientation = YES;
655 // __block id alertView; 662 // __block id alertView;
656 -// for (NSInteger i = 0; i < tzImagePickerVc.selectedModels.count; i++) {  
657 -// TZAssetModel *model = tzImagePickerVc.selectedModels[i]; 663 +// for (NSInteger i = 0; i < CNTZImagePickerVc.selectedModels.count; i++) {
  664 +// CNTZAssetModel *model = CNTZImagePickerVc.selectedModels[i];
658 // 665 //
659 // /// 判断是否导出 666 // /// 判断是否导出
660 -// if (tzImagePickerVc.isExport) {  
661 -// if (model.type == TZAssetModelMediaTypeVideo) { 667 +// if (CNTZImagePickerVc.isExport) {
  668 +// if (model.type == CNTZAssetModelMediaTypeVideo) {
662 // model.exportURL = [self getURLWithModel:model]; 669 // model.exportURL = [self getURLWithModel:model];
663 // } 670 // }
664 // [selectedModels replaceObjectAtIndex:i withObject:model]; 671 // [selectedModels replaceObjectAtIndex:i withObject:model];
@@ -666,11 +673,11 @@ static CGFloat itemMargin = 5; @@ -666,11 +673,11 @@ static CGFloat itemMargin = 5;
666 // [selectedModels replaceObjectAtIndex:i withObject:model]; 673 // [selectedModels replaceObjectAtIndex:i withObject:model];
667 // } 674 // }
668 // 675 //
669 -// [[TZImageManager manager] getPhotoWithAsset:model.asset completion:^(UIImage *photo, NSDictionary *info, BOOL isDegraded) { 676 +// [[CNTZImageManager manager] getPhotoWithAsset:model.asset completion:^(UIImage *photo, NSDictionary *info, BOOL isDegraded) {
670 // if (isDegraded) return; 677 // if (isDegraded) return;
671 // if (photo) { 678 // if (photo) {
672 -// if (![TZImagePickerConfig sharedInstance].notScaleImage) {  
673 -// photo = [[TZImageManager manager] scaleImage:photo toSize:CGSizeMake(tzImagePickerVc.photoWidth, (int)(tzImagePickerVc.photoWidth * photo.size.height / photo.size.width))]; 679 +// if (![CNTZImagePickerConfig sharedInstance].notScaleImage) {
  680 +// photo = [[CNTZImageManager manager] scaleImage:photo toSize:CGSizeMake(CNTZImagePickerVc.photoWidth, (int)(CNTZImagePickerVc.photoWidth * photo.size.height / photo.size.width))];
674 // } 681 // }
675 // [photos replaceObjectAtIndex:i withObject:photo]; 682 // [photos replaceObjectAtIndex:i withObject:photo];
676 // } 683 // }
@@ -682,14 +689,14 @@ static CGFloat itemMargin = 5; @@ -682,14 +689,14 @@ static CGFloat itemMargin = 5;
682 // for (id item in photos) { if ([item isKindOfClass:[NSNumber class]]) return; } 689 // for (id item in photos) { if ([item isKindOfClass:[NSNumber class]]) return; }
683 // 690 //
684 // if (havenotShowAlert) { 691 // if (havenotShowAlert) {
685 -// [tzImagePickerVc hideAlertView:alertView]; 692 +// [CNTZImagePickerVc hideAlertView:alertView];
686 // [self didGetAllPhotos:photos assets:assets selectedModels:selectedModels infoArr:infoArr]; 693 // [self didGetAllPhotos:photos assets:assets selectedModels:selectedModels infoArr:infoArr];
687 // } 694 // }
688 // } progressHandler:^(double progress, NSError *error, BOOL *stop, NSDictionary *info) { 695 // } progressHandler:^(double progress, NSError *error, BOOL *stop, NSDictionary *info) {
689 // // 如果图片正在从iCloud同步中,提醒用户 696 // // 如果图片正在从iCloud同步中,提醒用户
690 // if (progress < 1 && havenotShowAlert && !alertView) { 697 // if (progress < 1 && havenotShowAlert && !alertView) {
691 -// [tzImagePickerVc hideProgressHUD];  
692 -// alertView = [tzImagePickerVc showAlertWithTitle:[NSBundle tz_localizedStringForKey:@"Synchronizing photos from iCloud"]]; 698 +// [CNTZImagePickerVc hideProgressHUD];
  699 +// alertView = [CNTZImagePickerVc showAlertWithTitle:[NSBundle CNTZ_localizedStringForKey:@"Synchronizing photos from iCloud"]];
693 // havenotShowAlert = NO; 700 // havenotShowAlert = NO;
694 // return; 701 // return;
695 // } 702 // }
@@ -699,28 +706,21 @@ static CGFloat itemMargin = 5; @@ -699,28 +706,21 @@ static CGFloat itemMargin = 5;
699 // } networkAccessAllowed:YES]; 706 // } networkAccessAllowed:YES];
700 // } 707 // }
701 // } 708 // }
702 -// if (tzImagePickerVc.selectedModels.count <= 0 || tzImagePickerVc.onlyReturnAsset) { 709 +// if (CNTZImagePickerVc.selectedModels.count <= 0 || CNTZImagePickerVc.onlyReturnAsset) {
703 // [self didGetAllPhotos:photos assets:assets selectedModels:selectedModels infoArr:infoArr]; 710 // [self didGetAllPhotos:photos assets:assets selectedModels:selectedModels infoArr:infoArr];
704 // } 711 // }
705 } 712 }
706 713
707 /// 导出视频URL 714 /// 导出视频URL
708 -- (NSURL *)getURLWithModel:(TZAssetModel *)model{ 715 +- (NSURL *)getURLWithModel:(CNTZAssetModel *)model outputPath:(NSString *)outputPath{
709 716
710 __block NSURL *returnURL = nil; 717 __block NSURL *returnURL = nil;
711 - TZImagePickerController *tzImagePickerVc = (TZImagePickerController *)self.navigationController; 718 +// CNTZImagePickerController *CNTZImagePickerVc = (CNTZImagePickerController *)self.navigationController;
712 719
713 - NSString *outputPath = @"";  
714 - if ([NSString isEmpty:tzImagePickerVc.conversationId]) {  
715 - outputPath = [CNLiveBusinessTools chatFilePathByUserId:CNUserShareModel.uid];  
716 - }else{  
717 -  
718 - outputPath = [CNLiveBusinessTools getChatImageAndVideoUploadIMCacheDirectory];  
719 -  
720 - } 720 +
721 721
722 [CNLiveUploadManager zipNewVideoWithAsset:model.asset outputPath:outputPath limitType:AppPhototLimitTypeChat progressCount:^(float progress) { 722 [CNLiveUploadManager zipNewVideoWithAsset:model.asset outputPath:outputPath limitType:AppPhototLimitTypeChat progressCount:^(float progress) {
723 - 723 + NSLog(@"progress == %f",progress);
724 } success:^(NSURL *url) { 724 } success:^(NSURL *url) {
725 returnURL = url; 725 returnURL = url;
726 } failure:^{ 726 } failure:^{
@@ -758,10 +758,10 @@ static CGFloat itemMargin = 5; @@ -758,10 +758,10 @@ static CGFloat itemMargin = 5;
758 //} 758 //}
759 759
760 - (void)didGetAllPhotos:(NSArray *)photos assets:(NSArray *)assets selectedModels:(NSArray *)selectedModels infoArr:(NSArray *)infoArr { 760 - (void)didGetAllPhotos:(NSArray *)photos assets:(NSArray *)assets selectedModels:(NSArray *)selectedModels infoArr:(NSArray *)infoArr {
761 - TZImagePickerController *tzImagePickerVc = (TZImagePickerController *)self.navigationController;  
762 - [tzImagePickerVc hideProgressHUD]; 761 + CNTZImagePickerController *CNTZImagePickerVc = (CNTZImagePickerController *)self.navigationController;
  762 + [CNTZImagePickerVc hideProgressHUD];
763 763
764 - if (tzImagePickerVc.autoDismiss) { 764 + if (CNTZImagePickerVc.autoDismiss) {
765 [self.navigationController dismissViewControllerAnimated:YES completion:^{ 765 [self.navigationController dismissViewControllerAnimated:YES completion:^{
766 [self callDelegateMethodWithPhotos:photos assets:assets selectedModels:selectedModels infoArr:infoArr]; 766 [self callDelegateMethodWithPhotos:photos assets:assets selectedModels:selectedModels infoArr:infoArr];
767 }]; 767 }];
@@ -772,34 +772,34 @@ static CGFloat itemMargin = 5; @@ -772,34 +772,34 @@ static CGFloat itemMargin = 5;
772 772
773 ///lxg:更改 773 ///lxg:更改
774 - (void)callDelegateMethodWithPhotos:(NSArray *)photos assets:(NSArray *)assets selectedModels:(NSArray *)selectedModels infoArr:(NSArray *)infoArr { 774 - (void)callDelegateMethodWithPhotos:(NSArray *)photos assets:(NSArray *)assets selectedModels:(NSArray *)selectedModels infoArr:(NSArray *)infoArr {
775 - TZImagePickerController *tzImagePickerVc = (TZImagePickerController *)self.navigationController;  
776 - if (tzImagePickerVc.allowPickingVideo && tzImagePickerVc.maxImagesCount == 1) {  
777 - if ([[TZImageManager manager] isVideo:[assets firstObject]]) {  
778 - if ([tzImagePickerVc.pickerDelegate respondsToSelector:@selector(imagePickerController:didFinishPickingVideo:sourceAssets:)]) {  
779 - [tzImagePickerVc.pickerDelegate imagePickerController:tzImagePickerVc didFinishPickingVideo:[photos firstObject] sourceAssets:[assets firstObject]]; 775 + CNTZImagePickerController *CNTZImagePickerVc = (CNTZImagePickerController *)self.navigationController;
  776 + if (CNTZImagePickerVc.allowPickingVideo && CNTZImagePickerVc.maxImagesCount == 1) {
  777 + if ([[CNTZImageManager manager] isVideo:[assets firstObject]]) {
  778 + if ([CNTZImagePickerVc.pickerDelegate respondsToSelector:@selector(imagePickerController:didFinishPickingVideo:sourceAssets:)]) {
  779 + [CNTZImagePickerVc.pickerDelegate imagePickerController:CNTZImagePickerVc didFinishPickingVideo:[photos firstObject] sourceAssets:[assets firstObject]];
780 } 780 }
781 - if (tzImagePickerVc.didFinishPickingVideoHandle) {  
782 - tzImagePickerVc.didFinishPickingVideoHandle([photos firstObject], [assets firstObject]); 781 + if (CNTZImagePickerVc.didFinishPickingVideoHandle) {
  782 + CNTZImagePickerVc.didFinishPickingVideoHandle([photos firstObject], [assets firstObject]);
783 } 783 }
784 return; 784 return;
785 } 785 }
786 } 786 }
787 787
788 - if ([tzImagePickerVc.pickerDelegate respondsToSelector:@selector(imagePickerController:didFinishPickingPhotos:sourceAssets:isSelectOriginalPhoto:)]) {  
789 - [tzImagePickerVc.pickerDelegate imagePickerController:tzImagePickerVc didFinishPickingPhotos:photos sourceAssets:assets isSelectOriginalPhoto:_isSelectOriginalPhoto]; 788 + if ([CNTZImagePickerVc.pickerDelegate respondsToSelector:@selector(imagePickerController:didFinishPickingPhotos:sourceAssets:isSelectOriginalPhoto:)]) {
  789 + [CNTZImagePickerVc.pickerDelegate imagePickerController:CNTZImagePickerVc didFinishPickingPhotos:photos sourceAssets:assets isSelectOriginalPhoto:_isSelectOriginalPhoto];
790 } 790 }
791 - if ([tzImagePickerVc.pickerDelegate respondsToSelector:@selector(imagePickerController:didFinishPickingPhotos:sourceAssets:isSelectOriginalPhoto:infos:)]) {  
792 - [tzImagePickerVc.pickerDelegate imagePickerController:tzImagePickerVc didFinishPickingPhotos:photos sourceAssets:assets isSelectOriginalPhoto:_isSelectOriginalPhoto infos:infoArr]; 791 + if ([CNTZImagePickerVc.pickerDelegate respondsToSelector:@selector(imagePickerController:didFinishPickingPhotos:sourceAssets:isSelectOriginalPhoto:infos:)]) {
  792 + [CNTZImagePickerVc.pickerDelegate imagePickerController:CNTZImagePickerVc didFinishPickingPhotos:photos sourceAssets:assets isSelectOriginalPhoto:_isSelectOriginalPhoto infos:infoArr];
793 } 793 }
794 - if (tzImagePickerVc.didFinishPickingPhotosHandle) {  
795 - tzImagePickerVc.didFinishPickingPhotosHandle(photos,assets,_isSelectOriginalPhoto); 794 + if (CNTZImagePickerVc.didFinishPickingPhotosHandle) {
  795 + CNTZImagePickerVc.didFinishPickingPhotosHandle(photos,assets,_isSelectOriginalPhoto);
796 } 796 }
797 - if (tzImagePickerVc.didFinishPickingPhotosWithInfosHandle) {  
798 - tzImagePickerVc.didFinishPickingPhotosWithInfosHandle(photos,assets,_isSelectOriginalPhoto,infoArr); 797 + if (CNTZImagePickerVc.didFinishPickingPhotosWithInfosHandle) {
  798 + CNTZImagePickerVc.didFinishPickingPhotosWithInfosHandle(photos,assets,_isSelectOriginalPhoto,infoArr);
799 } 799 }
800 #pragma mark - TODO: 导出 800 #pragma mark - TODO: 导出
801 - if (tzImagePickerVc.didNewFinishPickingPhotosHandle) {  
802 - tzImagePickerVc.didNewFinishPickingPhotosHandle(photos, selectedModels, assets, _isSelectOriginalPhoto); 801 + if (CNTZImagePickerVc.didNewFinishPickingPhotosHandle) {
  802 + CNTZImagePickerVc.didNewFinishPickingPhotosHandle(photos, selectedModels, assets, _isSelectOriginalPhoto);
803 } 803 }
804 804
805 } 805 }
@@ -815,11 +815,11 @@ static CGFloat itemMargin = 5; @@ -815,11 +815,11 @@ static CGFloat itemMargin = 5;
815 815
816 - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { 816 - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
817 // the cell lead to take a picture / 去拍照的cell 817 // the cell lead to take a picture / 去拍照的cell
818 - TZImagePickerController *tzImagePickerVc = (TZImagePickerController *)self.navigationController;  
819 - if (((tzImagePickerVc.sortAscendingByModificationDate && indexPath.item >= _models.count) || (!tzImagePickerVc.sortAscendingByModificationDate && indexPath.item == 0)) && _showTakePhotoBtn) {  
820 - TZAssetCameraCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"TZAssetCameraCell" forIndexPath:indexPath];  
821 - cell.imageView.image = tzImagePickerVc.takePictureImage;  
822 - if ([tzImagePickerVc.takePictureImageName isEqualToString:@"takePicture80"]) { 818 + CNTZImagePickerController *CNTZImagePickerVc = (CNTZImagePickerController *)self.navigationController;
  819 + if (((CNTZImagePickerVc.sortAscendingByModificationDate && indexPath.item >= _models.count) || (!CNTZImagePickerVc.sortAscendingByModificationDate && indexPath.item == 0)) && _showTakePhotoBtn) {
  820 + CNTZAssetCameraCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"CNTZAssetCameraCell" forIndexPath:indexPath];
  821 + cell.imageView.image = CNTZImagePickerVc.takePictureImage;
  822 + if ([CNTZImagePickerVc.takePictureImageName isEqualToString:@"takePicture80"]) {
823 cell.imageView.contentMode = UIViewContentModeCenter; 823 cell.imageView.contentMode = UIViewContentModeCenter;
824 CGFloat rgb = 223 / 255.0; 824 CGFloat rgb = 223 / 255.0;
825 cell.imageView.backgroundColor = [UIColor colorWithRed:rgb green:rgb blue:rgb alpha:1.0]; 825 cell.imageView.backgroundColor = [UIColor colorWithRed:rgb green:rgb blue:rgb alpha:1.0];
@@ -829,30 +829,30 @@ static CGFloat itemMargin = 5; @@ -829,30 +829,30 @@ static CGFloat itemMargin = 5;
829 return cell; 829 return cell;
830 } 830 }
831 // the cell dipaly photo or video / 展示照片或视频的cell 831 // the cell dipaly photo or video / 展示照片或视频的cell
832 - TZAssetCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"TZAssetCell" forIndexPath:indexPath];  
833 - cell.allowPickingMultipleVideo = tzImagePickerVc.allowPickingMultipleVideo;  
834 - cell.photoDefImage = tzImagePickerVc.photoDefImage;  
835 - cell.photoSelImage = tzImagePickerVc.photoSelImage; 832 + CNTZAssetCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"CNTZAssetCell" forIndexPath:indexPath];
  833 + cell.allowPickingMultipleVideo = CNTZImagePickerVc.allowPickingMultipleVideo;
  834 + cell.photoDefImage = CNTZImagePickerVc.photoDefImage;
  835 + cell.photoSelImage = CNTZImagePickerVc.photoSelImage;
836 cell.useCachedImage = self.useCachedImage; 836 cell.useCachedImage = self.useCachedImage;
837 - cell.assetCellDidSetModelBlock = tzImagePickerVc.assetCellDidSetModelBlock;  
838 - cell.assetCellDidLayoutSubviewsBlock = tzImagePickerVc.assetCellDidLayoutSubviewsBlock;  
839 - TZAssetModel *model;  
840 - if (tzImagePickerVc.sortAscendingByModificationDate || !_showTakePhotoBtn) { 837 + cell.assetCellDidSetModelBlock = CNTZImagePickerVc.assetCellDidSetModelBlock;
  838 + cell.assetCellDidLayoutSubviewsBlock = CNTZImagePickerVc.assetCellDidLayoutSubviewsBlock;
  839 + CNTZAssetModel *model;
  840 + if (CNTZImagePickerVc.sortAscendingByModificationDate || !_showTakePhotoBtn) {
841 model = _models[indexPath.item]; 841 model = _models[indexPath.item];
842 } else { 842 } else {
843 model = _models[indexPath.item - 1]; 843 model = _models[indexPath.item - 1];
844 } 844 }
845 - cell.allowPickingGif = tzImagePickerVc.allowPickingGif; 845 + cell.allowPickingGif = CNTZImagePickerVc.allowPickingGif;
846 cell.model = model; 846 cell.model = model;
847 - if (model.isSelected && tzImagePickerVc.showSelectedIndex) {  
848 - NSString *assetId = [[TZImageManager manager] getAssetIdentifier:model.asset];  
849 - cell.index = [tzImagePickerVc.selectedAssetIds indexOfObject:assetId] + 1; 847 + if (model.isSelected && CNTZImagePickerVc.showSelectedIndex) {
  848 + NSString *assetId = [[CNTZImageManager manager] getAssetIdentifier:model.asset];
  849 + cell.index = [CNTZImagePickerVc.selectedAssetIds indexOfObject:assetId] + 1;
850 } 850 }
851 - cell.showSelectBtn = tzImagePickerVc.showSelectBtn;  
852 - cell.allowPreview = tzImagePickerVc.allowPreview; 851 + cell.showSelectBtn = CNTZImagePickerVc.showSelectBtn;
  852 + cell.allowPreview = CNTZImagePickerVc.allowPreview;
853 853
854 - if (tzImagePickerVc.selectedModels.count >= tzImagePickerVc.maxImagesCount && tzImagePickerVc.showPhotoCannotSelectLayer && !model.isSelected) {  
855 - cell.cannotSelectLayerButton.backgroundColor = tzImagePickerVc.cannotSelectLayerColor; 854 + if (CNTZImagePickerVc.selectedModels.count >= CNTZImagePickerVc.maxImagesCount && CNTZImagePickerVc.showPhotoCannotSelectLayer && !model.isSelected) {
  855 + cell.cannotSelectLayerButton.backgroundColor = CNTZImagePickerVc.cannotSelectLayerColor;
856 cell.cannotSelectLayerButton.hidden = NO; 856 cell.cannotSelectLayerButton.hidden = NO;
857 } else { 857 } else {
858 cell.cannotSelectLayerButton.hidden = YES; 858 cell.cannotSelectLayerButton.hidden = YES;
@@ -867,31 +867,31 @@ static CGFloat itemMargin = 5; @@ -867,31 +867,31 @@ static CGFloat itemMargin = 5;
867 __strong typeof(weakLayer) strongLayer = weakLayer; 867 __strong typeof(weakLayer) strongLayer = weakLayer;
868 868
869 if (!strongCell.model.isExport) {///lxg:裂图 869 if (!strongCell.model.isExport) {///lxg:裂图
870 - [tzImagePickerVc showAlertWithTitle:@"图有损坏不可选"]; 870 + [CNTZImagePickerVc showAlertWithTitle:@"图有损坏不可选"];
871 871
872 return; 872 return;
873 } 873 }
874 874
875 - TZImagePickerController *tzImagePickerVc = (TZImagePickerController *)strongSelf.navigationController; 875 + CNTZImagePickerController *CNTZImagePickerVc = (CNTZImagePickerController *)strongSelf.navigationController;
876 // 1. cancel select / 取消选择 876 // 1. cancel select / 取消选择
877 if (isSelected) { 877 if (isSelected) {
878 strongCell.selectPhotoButton.selected = NO; 878 strongCell.selectPhotoButton.selected = NO;
879 model.isSelected = NO; 879 model.isSelected = NO;
880 - NSArray *selectedModels = [NSArray arrayWithArray:tzImagePickerVc.selectedModels];  
881 - for (TZAssetModel *model_item in selectedModels) {  
882 - if ([[[TZImageManager manager] getAssetIdentifier:model.asset] isEqualToString:[[TZImageManager manager] getAssetIdentifier:model_item.asset]]) {  
883 - [tzImagePickerVc removeSelectedModel:model_item]; 880 + NSArray *selectedModels = [NSArray arrayWithArray:CNTZImagePickerVc.selectedModels];
  881 + for (CNTZAssetModel *model_item in selectedModels) {
  882 + if ([[[CNTZImageManager manager] getAssetIdentifier:model.asset] isEqualToString:[[CNTZImageManager manager] getAssetIdentifier:model_item.asset]]) {
  883 + [CNTZImagePickerVc removeSelectedModel:model_item];
884 break; 884 break;
885 } 885 }
886 } 886 }
887 [strongSelf refreshBottomToolBarStatus]; 887 [strongSelf refreshBottomToolBarStatus];
888 - if (tzImagePickerVc.showSelectedIndex || tzImagePickerVc.showPhotoCannotSelectLayer) { 888 + if (CNTZImagePickerVc.showSelectedIndex || CNTZImagePickerVc.showPhotoCannotSelectLayer) {
889 [strongSelf setUseCachedImageAndReloadData]; 889 [strongSelf setUseCachedImageAndReloadData];
890 } 890 }
891 - [UIView showOscillatoryAnimationWithLayer:strongLayer type:TZOscillatoryAnimationToSmaller]; 891 + [UIView showOscillatoryAnimationWithLayer:strongLayer type:CNTZOscillatoryAnimationToSmaller];
892 } else { 892 } else {
893 #pragma mark - 处理iCloud视频 893 #pragma mark - 处理iCloud视频
894 - if (weakCell.model.type == TZAssetModelMediaTypeVideo) { 894 + if (weakCell.model.type == CNTZAssetModelMediaTypeVideo) {
895 895
896 if (weakCell.model.isCheckICloudType) {//检查完成 896 if (weakCell.model.isCheckICloudType) {//检查完成
897 if (weakCell.model.isICloudType) {//源是iCloud 897 if (weakCell.model.isICloudType) {//源是iCloud
@@ -928,7 +928,7 @@ static CGFloat itemMargin = 5; @@ -928,7 +928,7 @@ static CGFloat itemMargin = 5;
928 928
929 }]; 929 }];
930 930
931 - [tzImagePickerVc showAlertWithTitle:@"请进入视频详情加载iCloud视频"]; 931 + [CNTZImagePickerVc showAlertWithTitle:@"请进入视频详情加载iCloud视频"];
932 return; 932 return;
933 933
934 }else {//已下载 934 }else {//已下载
@@ -940,14 +940,14 @@ static CGFloat itemMargin = 5; @@ -940,14 +940,14 @@ static CGFloat itemMargin = 5;
940 940
941 941
942 }else { 942 }else {
943 - [tzImagePickerVc showAlertWithTitle:@"请进入视频详情查看iCloud视频"]; 943 + [CNTZImagePickerVc showAlertWithTitle:@"请进入视频详情查看iCloud视频"];
944 return; 944 return;
945 } 945 }
946 946
947 } 947 }
948 948
949 // 2. select:check if over the maxImagesCount / 选择照片,检查是否超过了最大个数的限制 949 // 2. select:check if over the maxImagesCount / 选择照片,检查是否超过了最大个数的限制
950 - if (tzImagePickerVc.selectedModels.count < tzImagePickerVc.maxImagesCount) { 950 + if (CNTZImagePickerVc.selectedModels.count < CNTZImagePickerVc.maxImagesCount) {
951 ///lxg禁止选中限制时长视频 951 ///lxg禁止选中限制时长视频
952 NSTimeInterval duration = 0.0; 952 NSTimeInterval duration = 0.0;
953 if ([model.asset isKindOfClass:[PHAsset class]]) { 953 if ([model.asset isKindOfClass:[PHAsset class]]) {
@@ -956,11 +956,11 @@ static CGFloat itemMargin = 5; @@ -956,11 +956,11 @@ static CGFloat itemMargin = 5;
956 }else if ([model.asset isKindOfClass:[ALAsset class]]){ 956 }else if ([model.asset isKindOfClass:[ALAsset class]]){
957 duration = [[model.asset valueForProperty:ALAssetPropertyDuration] doubleValue]; 957 duration = [[model.asset valueForProperty:ALAssetPropertyDuration] doubleValue];
958 } 958 }
959 - if (model.type == TZAssetModelMediaTypeVideo  
960 - && tzImagePickerVc.allowPickingMultipleVideo  
961 - && duration > tzImagePickerVc.maxVideoDuration) {//视频,支持混选,时长超过最大时长限制  
962 - NSInteger minutes = tzImagePickerVc.maxVideoDuration / 60;  
963 - NSInteger seconds = tzImagePickerVc.maxVideoDuration % 60; 959 + if (model.type == CNTZAssetModelMediaTypeVideo
  960 + && CNTZImagePickerVc.allowPickingMultipleVideo
  961 + && duration > CNTZImagePickerVc.maxVideoDuration) {//视频,支持混选,时长超过最大时长限制
  962 + NSInteger minutes = CNTZImagePickerVc.maxVideoDuration / 60;
  963 + NSInteger seconds = CNTZImagePickerVc.maxVideoDuration % 60;
964 NSString *timeStr = [NSString string]; 964 NSString *timeStr = [NSString string];
965 if (minutes == 0) { 965 if (minutes == 0) {
966 timeStr = [NSString stringWithFormat:@"不能选择超过%li秒视频",(long)seconds]; 966 timeStr = [NSString stringWithFormat:@"不能选择超过%li秒视频",(long)seconds];
@@ -969,30 +969,30 @@ static CGFloat itemMargin = 5; @@ -969,30 +969,30 @@ static CGFloat itemMargin = 5;
969 }else{ 969 }else{
970 timeStr = [NSString stringWithFormat:@"不能选择超过%li分%li秒视频",(long)minutes,(long)seconds]; 970 timeStr = [NSString stringWithFormat:@"不能选择超过%li分%li秒视频",(long)minutes,(long)seconds];
971 } 971 }
972 - [tzImagePickerVc showAlertWithTitle:timeStr]; 972 + [CNTZImagePickerVc showAlertWithTitle:timeStr];
973 973
974 return; 974 return;
975 } 975 }
976 976
977 977
978 - if (tzImagePickerVc.maxImagesCount == 1 && !tzImagePickerVc.allowPreview) { 978 + if (CNTZImagePickerVc.maxImagesCount == 1 && !CNTZImagePickerVc.allowPreview) {
979 model.isSelected = YES; 979 model.isSelected = YES;
980 - [tzImagePickerVc addSelectedModel:model]; 980 + [CNTZImagePickerVc addSelectedModel:model];
981 [strongSelf doneButtonClick]; 981 [strongSelf doneButtonClick];
982 return; 982 return;
983 } 983 }
984 strongCell.selectPhotoButton.selected = YES; 984 strongCell.selectPhotoButton.selected = YES;
985 model.isSelected = YES; 985 model.isSelected = YES;
986 - if (tzImagePickerVc.showSelectedIndex || tzImagePickerVc.showPhotoCannotSelectLayer) { 986 + if (CNTZImagePickerVc.showSelectedIndex || CNTZImagePickerVc.showPhotoCannotSelectLayer) {
987 model.needOscillatoryAnimation = YES; 987 model.needOscillatoryAnimation = YES;
988 [strongSelf setUseCachedImageAndReloadData]; 988 [strongSelf setUseCachedImageAndReloadData];
989 } 989 }
990 - [tzImagePickerVc addSelectedModel:model]; 990 + [CNTZImagePickerVc addSelectedModel:model];
991 [strongSelf refreshBottomToolBarStatus]; 991 [strongSelf refreshBottomToolBarStatus];
992 - [UIView showOscillatoryAnimationWithLayer:strongLayer type:TZOscillatoryAnimationToSmaller]; 992 + [UIView showOscillatoryAnimationWithLayer:strongLayer type:CNTZOscillatoryAnimationToSmaller];
993 } else { 993 } else {
994 - NSString *title = [NSString stringWithFormat:[NSBundle tz_localizedStringForKey:@"Select a maximum of %zd photos"], tzImagePickerVc.maxImagesCount];  
995 - [tzImagePickerVc showAlertWithTitle:title]; 994 + NSString *title = [NSString stringWithFormat:[NSBundle CNTZ_localizedStringForKey:@"Select a maximum of %zd photos"], CNTZImagePickerVc.maxImagesCount];
  995 + [CNTZImagePickerVc showAlertWithTitle:title];
996 } 996 }
997 } 997 }
998 }; 998 };
@@ -1002,17 +1002,17 @@ static CGFloat itemMargin = 5; @@ -1002,17 +1002,17 @@ static CGFloat itemMargin = 5;
1002 - (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath { 1002 - (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
1003 1003
1004 // take a photo / 去拍照 1004 // take a photo / 去拍照
1005 - TZImagePickerController *tzImagePickerVc = (TZImagePickerController *)self.navigationController; 1005 + CNTZImagePickerController *CNTZImagePickerVc = (CNTZImagePickerController *)self.navigationController;
1006 1006
1007 - if (((tzImagePickerVc.sortAscendingByModificationDate && indexPath.item >= _models.count) || (!tzImagePickerVc.sortAscendingByModificationDate && indexPath.item == 0)) && _showTakePhotoBtn) { 1007 + if (((CNTZImagePickerVc.sortAscendingByModificationDate && indexPath.item >= _models.count) || (!CNTZImagePickerVc.sortAscendingByModificationDate && indexPath.item == 0)) && _showTakePhotoBtn) {
1008 [self takePhoto]; return; 1008 [self takePhoto]; return;
1009 } 1009 }
1010 1010
1011 //lxg:损坏 1011 //lxg:损坏
1012 - TZAssetModel *assetModel = _models[indexPath.row]; 1012 + CNTZAssetModel *assetModel = _models[indexPath.row];
1013 if (assetModel) { 1013 if (assetModel) {
1014 if (!assetModel.isExport) {///lxg:裂图 1014 if (!assetModel.isExport) {///lxg:裂图
1015 - [tzImagePickerVc showAlertWithTitle:@"图有损坏不可选"]; 1015 + [CNTZImagePickerVc showAlertWithTitle:@"图有损坏不可选"];
1016 1016
1017 return; 1017 return;
1018 } 1018 }
@@ -1020,44 +1020,44 @@ static CGFloat itemMargin = 5; @@ -1020,44 +1020,44 @@ static CGFloat itemMargin = 5;
1020 1020
1021 // preview phote or video / 预览照片或视频 1021 // preview phote or video / 预览照片或视频
1022 NSInteger index = indexPath.item; 1022 NSInteger index = indexPath.item;
1023 - if (!tzImagePickerVc.sortAscendingByModificationDate && _showTakePhotoBtn) { 1023 + if (!CNTZImagePickerVc.sortAscendingByModificationDate && _showTakePhotoBtn) {
1024 index = indexPath.item - 1; 1024 index = indexPath.item - 1;
1025 } 1025 }
1026 -// TZAssetModel *model = _models[index]; 1026 +// CNTZAssetModel *model = _models[index];
1027 1027
1028 #pragma mark - 聊天里面进入和朋友圈中进入LXG 1028 #pragma mark - 聊天里面进入和朋友圈中进入LXG
1029 1029
1030 - TZPhotoPreviewController *photoPreviewVc = [[TZPhotoPreviewController alloc] init]; 1030 + CNTZPhotoPreviewController *photoPreviewVc = [[CNTZPhotoPreviewController alloc] init];
1031 photoPreviewVc.enterType = PhotoPreviewEnterTypeNormal; 1031 photoPreviewVc.enterType = PhotoPreviewEnterTypeNormal;
1032 photoPreviewVc.currentIndex = index; 1032 photoPreviewVc.currentIndex = index;
1033 photoPreviewVc.models = _models; 1033 photoPreviewVc.models = _models;
1034 - photoPreviewVc.isSelectOriginalPhoto = tzImagePickerVc.isSelectOriginalPhoto; 1034 + photoPreviewVc.isSelectOriginalPhoto = CNTZImagePickerVc.isSelectOriginalPhoto;
1035 [self pushPhotoPrevireViewController:photoPreviewVc]; 1035 [self pushPhotoPrevireViewController:photoPreviewVc];
1036 1036
1037 1037
1038 // ///LXG进行 注释 1038 // ///LXG进行 注释
1039 -// if (model.type == TZAssetModelMediaTypeVideo && !tzImagePickerVc.allowPickingMultipleVideo) {///支持混选+点击视频  
1040 -// if (tzImagePickerVc.selectedModels.count > 0) {  
1041 -// TZImagePickerController *imagePickerVc = (TZImagePickerController *)self.navigationController;  
1042 -// [imagePickerVc showAlertWithTitle:[NSBundle tz_localizedStringForKey:@"Can not choose both video and photo"]]; 1039 +// if (model.type == CNTZAssetModelMediaTypeVideo && !CNTZImagePickerVc.allowPickingMultipleVideo) {///支持混选+点击视频
  1040 +// if (CNTZImagePickerVc.selectedModels.count > 0) {
  1041 +// CNTZImagePickerController *imagePickerVc = (CNTZImagePickerController *)self.navigationController;
  1042 +// [imagePickerVc showAlertWithTitle:[NSBundle CNTZ_localizedStringForKey:@"Can not choose both video and photo"]];
1043 // } else { 1043 // } else {
1044 -// TZVideoPlayerController *videoPlayerVc = [[TZVideoPlayerController alloc] init]; 1044 +// CNTZVideoPlayerController *videoPlayerVc = [[CNTZVideoPlayerController alloc] init];
1045 // videoPlayerVc.model = model; 1045 // videoPlayerVc.model = model;
1046 // videoPlayerVc.isOther = NO;//相册内部进入(LXG) 1046 // videoPlayerVc.isOther = NO;//相册内部进入(LXG)
1047 // [self.navigationController pushViewController:videoPlayerVc animated:YES]; 1047 // [self.navigationController pushViewController:videoPlayerVc animated:YES];
1048 // } 1048 // }
1049 -// } else if (model.type == TZAssetModelMediaTypePhotoGif && tzImagePickerVc.allowPickingGif && !tzImagePickerVc.allowPickingMultipleVideo) {//支持混选+GIF  
1050 -// if (tzImagePickerVc.selectedModels.count > 0) {  
1051 -// TZImagePickerController *imagePickerVc = (TZImagePickerController *)self.navigationController;  
1052 -// [imagePickerVc showAlertWithTitle:[NSBundle tz_localizedStringForKey:@"Can not choose both photo and GIF"]]; 1049 +// } else if (model.type == CNTZAssetModelMediaTypePhotoGif && CNTZImagePickerVc.allowPickingGif && !CNTZImagePickerVc.allowPickingMultipleVideo) {//支持混选+GIF
  1050 +// if (CNTZImagePickerVc.selectedModels.count > 0) {
  1051 +// CNTZImagePickerController *imagePickerVc = (CNTZImagePickerController *)self.navigationController;
  1052 +// [imagePickerVc showAlertWithTitle:[NSBundle CNTZ_localizedStringForKey:@"Can not choose both photo and GIF"]];
1053 // } else { 1053 // } else {
1054 -// TZGifPhotoPreviewController *gifPreviewVc = [[TZGifPhotoPreviewController alloc] init]; 1054 +// CNTZGifPhotoPreviewController *gifPreviewVc = [[CNTZGifPhotoPreviewController alloc] init];
1055 // gifPreviewVc.model = model; 1055 // gifPreviewVc.model = model;
1056 // [self.navigationController pushViewController:gifPreviewVc animated:YES]; 1056 // [self.navigationController pushViewController:gifPreviewVc animated:YES];
1057 // } 1057 // }
1058 // } else { 1058 // } else {
1059 //#pragma mark - 当可以混选 1059 //#pragma mark - 当可以混选
1060 -// TZPhotoPreviewController *photoPreviewVc = [[TZPhotoPreviewController alloc] init]; 1060 +// CNTZPhotoPreviewController *photoPreviewVc = [[CNTZPhotoPreviewController alloc] init];
1061 // photoPreviewVc.currentIndex = index; 1061 // photoPreviewVc.currentIndex = index;
1062 // photoPreviewVc.models = _models; 1062 // photoPreviewVc.models = _models;
1063 // [self pushPhotoPrevireViewController:photoPreviewVc]; 1063 // [self pushPhotoPrevireViewController:photoPreviewVc];
@@ -1087,17 +1087,17 @@ static CGFloat itemMargin = 5; @@ -1087,17 +1087,17 @@ static CGFloat itemMargin = 5;
1087 AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo]; 1087 AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
1088 if ((authStatus == AVAuthorizationStatusRestricted || authStatus ==AVAuthorizationStatusDenied) && iOS7Later) { 1088 if ((authStatus == AVAuthorizationStatusRestricted || authStatus ==AVAuthorizationStatusDenied) && iOS7Later) {
1089 1089
1090 - NSDictionary *infoDict = [TZCommonTools tz_getInfoDictionary]; 1090 + NSDictionary *infoDict = [CNTZCommonTools CNTZ_getInfoDictionary];
1091 // 无权限 做一个友好的提示 1091 // 无权限 做一个友好的提示
1092 NSString *appName = [infoDict valueForKey:@"CFBundleDisplayName"]; 1092 NSString *appName = [infoDict valueForKey:@"CFBundleDisplayName"];
1093 if (!appName) appName = [infoDict valueForKey:@"CFBundleName"]; 1093 if (!appName) appName = [infoDict valueForKey:@"CFBundleName"];
1094 1094
1095 - NSString *message = [NSString stringWithFormat:[NSBundle tz_localizedStringForKey:@"Please allow %@ to access your camera in \"Settings -> Privacy -> Camera\""],appName]; 1095 + NSString *message = [NSString stringWithFormat:[NSBundle CNTZ_localizedStringForKey:@"Please allow %@ to access your camera in \"Settings -> Privacy -> Camera\""],appName];
1096 if (iOS8Later) { 1096 if (iOS8Later) {
1097 - UIAlertView *alert = [[UIAlertView alloc] initWithTitle:[NSBundle tz_localizedStringForKey:@"Can not use camera"] message:message delegate:self cancelButtonTitle:[NSBundle tz_localizedStringForKey:@"Cancel"] otherButtonTitles:[NSBundle tz_localizedStringForKey:@"Setting"], nil]; 1097 + UIAlertView *alert = [[UIAlertView alloc] initWithTitle:[NSBundle CNTZ_localizedStringForKey:@"Can not use camera"] message:message delegate:self cancelButtonTitle:[NSBundle CNTZ_localizedStringForKey:@"Cancel"] otherButtonTitles:[NSBundle CNTZ_localizedStringForKey:@"Setting"], nil];
1098 [alert show]; 1098 [alert show];
1099 } else { 1099 } else {
1100 - UIAlertView *alert = [[UIAlertView alloc] initWithTitle:[NSBundle tz_localizedStringForKey:@"Can not use camera"] message:message delegate:self cancelButtonTitle:[NSBundle tz_localizedStringForKey:@"OK"] otherButtonTitles:nil]; 1100 + UIAlertView *alert = [[UIAlertView alloc] initWithTitle:[NSBundle CNTZ_localizedStringForKey:@"Can not use camera"] message:message delegate:self cancelButtonTitle:[NSBundle CNTZ_localizedStringForKey:@"OK"] otherButtonTitles:nil];
1101 [alert show]; 1101 [alert show];
1102 } 1102 }
1103 } else if (authStatus == AVAuthorizationStatusNotDetermined) { 1103 } else if (authStatus == AVAuthorizationStatusNotDetermined) {
@@ -1121,10 +1121,10 @@ static CGFloat itemMargin = 5; @@ -1121,10 +1121,10 @@ static CGFloat itemMargin = 5;
1121 // 调用相机 1121 // 调用相机
1122 - (void)pushImagePickerController { 1122 - (void)pushImagePickerController {
1123 // 提前定位 1123 // 提前定位
1124 - TZImagePickerController *tzImagePickerVc = (TZImagePickerController *)self.navigationController;  
1125 - if (tzImagePickerVc.allowCameraLocation) { 1124 + CNTZImagePickerController *CNTZImagePickerVc = (CNTZImagePickerController *)self.navigationController;
  1125 + if (CNTZImagePickerVc.allowCameraLocation) {
1126 __weak typeof(self) weakSelf = self; 1126 __weak typeof(self) weakSelf = self;
1127 - [[TZLocationManager manager] startLocationWithSuccessBlock:^(NSArray<CLLocation *> *locations) { 1127 + [[CNTZLocationManager manager] startLocationWithSuccessBlock:^(NSArray<CLLocation *> *locations) {
1128 __strong typeof(weakSelf) strongSelf = weakSelf; 1128 __strong typeof(weakSelf) strongSelf = weakSelf;
1129 strongSelf.location = [locations firstObject]; 1129 strongSelf.location = [locations firstObject];
1130 } failureBlock:^(NSError *error) { 1130 } failureBlock:^(NSError *error) {
@@ -1137,19 +1137,19 @@ static CGFloat itemMargin = 5; @@ -1137,19 +1137,19 @@ static CGFloat itemMargin = 5;
1137 if ([UIImagePickerController isSourceTypeAvailable: sourceType]) { 1137 if ([UIImagePickerController isSourceTypeAvailable: sourceType]) {
1138 self.imagePickerVc.sourceType = sourceType; 1138 self.imagePickerVc.sourceType = sourceType;
1139 NSMutableArray *mediaTypes = [NSMutableArray array]; 1139 NSMutableArray *mediaTypes = [NSMutableArray array];
1140 - if (tzImagePickerVc.allowTakePicture) { 1140 + if (CNTZImagePickerVc.allowTakePicture) {
1141 [mediaTypes addObject:(NSString *)kUTTypeImage]; 1141 [mediaTypes addObject:(NSString *)kUTTypeImage];
1142 } 1142 }
1143 - if (tzImagePickerVc.allowTakeVideo) { 1143 + if (CNTZImagePickerVc.allowTakeVideo) {
1144 [mediaTypes addObject:(NSString *)kUTTypeMovie]; 1144 [mediaTypes addObject:(NSString *)kUTTypeMovie];
1145 - self.imagePickerVc.videoMaximumDuration = tzImagePickerVc.videoMaximumDuration; 1145 + self.imagePickerVc.videoMaximumDuration = CNTZImagePickerVc.videoMaximumDuration;
1146 } 1146 }
1147 self.imagePickerVc.mediaTypes= mediaTypes; 1147 self.imagePickerVc.mediaTypes= mediaTypes;
1148 if (iOS8Later) { 1148 if (iOS8Later) {
1149 _imagePickerVc.modalPresentationStyle = UIModalPresentationOverCurrentContext; 1149 _imagePickerVc.modalPresentationStyle = UIModalPresentationOverCurrentContext;
1150 } 1150 }
1151 - if (tzImagePickerVc.uiImagePickerControllerSettingBlock) {  
1152 - tzImagePickerVc.uiImagePickerControllerSettingBlock(_imagePickerVc); 1151 + if (CNTZImagePickerVc.uiImagePickerControllerSettingBlock) {
  1152 + CNTZImagePickerVc.uiImagePickerControllerSettingBlock(_imagePickerVc);
1153 } 1153 }
1154 [self presentViewController:_imagePickerVc animated:YES completion:nil]; 1154 [self presentViewController:_imagePickerVc animated:YES completion:nil];
1155 } else { 1155 } else {
@@ -1158,31 +1158,31 @@ static CGFloat itemMargin = 5; @@ -1158,31 +1158,31 @@ static CGFloat itemMargin = 5;
1158 } 1158 }
1159 1159
1160 - (void)refreshBottomToolBarStatus { 1160 - (void)refreshBottomToolBarStatus {
1161 - TZImagePickerController *tzImagePickerVc = (TZImagePickerController *)self.navigationController; 1161 + CNTZImagePickerController *CNTZImagePickerVc = (CNTZImagePickerController *)self.navigationController;
1162 1162
1163 - _previewButton.enabled = tzImagePickerVc.selectedModels.count > 0;  
1164 - _doneButton.enabled = tzImagePickerVc.selectedModels.count > 0 || tzImagePickerVc.alwaysEnableDoneBtn; 1163 + _previewButton.enabled = CNTZImagePickerVc.selectedModels.count > 0;
  1164 + _doneButton.enabled = CNTZImagePickerVc.selectedModels.count > 0 || CNTZImagePickerVc.alwaysEnableDoneBtn;
1165 1165
1166 - _numberImageView.hidden = tzImagePickerVc.selectedModels.count <= 0;  
1167 - _numberLabel.hidden = tzImagePickerVc.selectedModels.count <= 0;  
1168 - _numberLabel.text = [NSString stringWithFormat:@"%zd",tzImagePickerVc.selectedModels.count]; 1166 + _numberImageView.hidden = CNTZImagePickerVc.selectedModels.count <= 0;
  1167 + _numberLabel.hidden = CNTZImagePickerVc.selectedModels.count <= 0;
  1168 + _numberLabel.text = [NSString stringWithFormat:@"%zd",CNTZImagePickerVc.selectedModels.count];
1169 #pragma mark - 添加: 选择图片个数显示(LXG) 1169 #pragma mark - 添加: 选择图片个数显示(LXG)
1170 _numberImageView.hidden = YES; 1170 _numberImageView.hidden = YES;
1171 _numberLabel.hidden = YES; 1171 _numberLabel.hidden = YES;
1172 - [_doneButton setTitle:[NSString stringWithFormat:@"完成(%zd)",tzImagePickerVc.selectedModels.count] forState:UIControlStateNormal]; 1172 + [_doneButton setTitle:[NSString stringWithFormat:@"完成(%zd)",CNTZImagePickerVc.selectedModels.count] forState:UIControlStateNormal];
1173 1173
1174 - _originalPhotoButton.enabled = tzImagePickerVc.selectedModels.count > 0; 1174 + _originalPhotoButton.enabled = CNTZImagePickerVc.selectedModels.count > 0;
1175 _originalPhotoButton.selected = (_isSelectOriginalPhoto && _originalPhotoButton.enabled); 1175 _originalPhotoButton.selected = (_isSelectOriginalPhoto && _originalPhotoButton.enabled);
1176 _originalPhotoLabel.hidden = YES;///lxg添加 1176 _originalPhotoLabel.hidden = YES;///lxg添加
1177 // _originalPhotoLabel.hidden = (!_originalPhotoButton.isSelected);///lxg注释 1177 // _originalPhotoLabel.hidden = (!_originalPhotoButton.isSelected);///lxg注释
1178 if (_isSelectOriginalPhoto) [self getSelectedPhotoBytes]; 1178 if (_isSelectOriginalPhoto) [self getSelectedPhotoBytes];
1179 } 1179 }
1180 1180
1181 -- (void)pushPhotoPrevireViewController:(TZPhotoPreviewController *)photoPreviewVc { 1181 +- (void)pushPhotoPrevireViewController:(CNTZPhotoPreviewController *)photoPreviewVc {
1182 [self pushPhotoPrevireViewController:photoPreviewVc needCheckSelectedModels:NO]; 1182 [self pushPhotoPrevireViewController:photoPreviewVc needCheckSelectedModels:NO];
1183 } 1183 }
1184 1184
1185 -- (void)pushPhotoPrevireViewController:(TZPhotoPreviewController *)photoPreviewVc needCheckSelectedModels:(BOOL)needCheckSelectedModels { 1185 +- (void)pushPhotoPrevireViewController:(CNTZPhotoPreviewController *)photoPreviewVc needCheckSelectedModels:(BOOL)needCheckSelectedModels {
1186 __weak typeof(self) weakSelf = self; 1186 __weak typeof(self) weakSelf = self;
1187 photoPreviewVc.isSelectOriginalPhoto = _isSelectOriginalPhoto; 1187 photoPreviewVc.isSelectOriginalPhoto = _isSelectOriginalPhoto;
1188 [photoPreviewVc setBackButtonClickBlock:^(BOOL isSelectOriginalPhoto) { 1188 [photoPreviewVc setBackButtonClickBlock:^(BOOL isSelectOriginalPhoto) {
@@ -1210,21 +1210,21 @@ static CGFloat itemMargin = 5; @@ -1210,21 +1210,21 @@ static CGFloat itemMargin = 5;
1210 1210
1211 - (void)getSelectedPhotoBytes { 1211 - (void)getSelectedPhotoBytes {
1212 // 越南语 && 5屏幕时会显示不下,暂时这样处理 1212 // 越南语 && 5屏幕时会显示不下,暂时这样处理
1213 - if ([[TZImagePickerConfig sharedInstance].preferredLanguage isEqualToString:@"vi"] && self.view.tz_width <= 320) { 1213 + if ([[CNTZImagePickerConfig sharedInstance].preferredLanguage isEqualToString:@"vi"] && self.view.CNTZ_width <= 320) {
1214 return; 1214 return;
1215 } 1215 }
1216 - TZImagePickerController *imagePickerVc = (TZImagePickerController *)self.navigationController;  
1217 - [[TZImageManager manager] getPhotosBytesWithArray:imagePickerVc.selectedModels completion:^(NSString *totalBytes) { 1216 + CNTZImagePickerController *imagePickerVc = (CNTZImagePickerController *)self.navigationController;
  1217 + [[CNTZImageManager manager] getPhotosBytesWithArray:imagePickerVc.selectedModels completion:^(NSString *totalBytes) {
1218 self->_originalPhotoLabel.text = [NSString stringWithFormat:@"(%@)",totalBytes]; 1218 self->_originalPhotoLabel.text = [NSString stringWithFormat:@"(%@)",totalBytes];
1219 self->_originalPhotoLabel.hidden = YES;///lxg添加 1219 self->_originalPhotoLabel.hidden = YES;///lxg添加
1220 }]; 1220 }];
1221 } 1221 }
1222 1222
1223 - (void)scrollCollectionViewToBottom { 1223 - (void)scrollCollectionViewToBottom {
1224 - TZImagePickerController *tzImagePickerVc = (TZImagePickerController *)self.navigationController; 1224 + CNTZImagePickerController *CNTZImagePickerVc = (CNTZImagePickerController *)self.navigationController;
1225 if (_shouldScrollToBottom && _models.count > 0) { 1225 if (_shouldScrollToBottom && _models.count > 0) {
1226 NSInteger item = 0; 1226 NSInteger item = 0;
1227 - if (tzImagePickerVc.sortAscendingByModificationDate) { 1227 + if (CNTZImagePickerVc.sortAscendingByModificationDate) {
1228 item = _models.count - 1; 1228 item = _models.count - 1;
1229 if (_showTakePhotoBtn) { 1229 if (_showTakePhotoBtn) {
1230 item += 1; 1230 item += 1;
@@ -1244,41 +1244,41 @@ static CGFloat itemMargin = 5; @@ -1244,41 +1244,41 @@ static CGFloat itemMargin = 5;
1244 - (void)checkSelectedModels { 1244 - (void)checkSelectedModels {
1245 NSMutableArray *selectedAssets = [NSMutableArray array]; 1245 NSMutableArray *selectedAssets = [NSMutableArray array];
1246 1246
1247 - TZImagePickerController *tzImagePickerVc = (TZImagePickerController *)self.navigationController; 1247 + CNTZImagePickerController *CNTZImagePickerVc = (CNTZImagePickerController *)self.navigationController;
1248 1248
1249 - [tzImagePickerVc.selectedModels enumerateObjectsWithOptions:NSEnumerationReverse usingBlock:^(TZAssetModel * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { 1249 + [CNTZImagePickerVc.selectedModels enumerateObjectsWithOptions:NSEnumerationReverse usingBlock:^(CNTZAssetModel * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
1250 1250
1251 /*** 筛选损坏视频 ***/ 1251 /*** 筛选损坏视频 ***/
1252 - if (obj.type == TZAssetModelMediaTypeVideo) { 1252 + if (obj.type == CNTZAssetModelMediaTypeVideo) {
1253 NSURL *url = [obj.asset movieURL]; 1253 NSURL *url = [obj.asset movieURL];
1254 if (!url) { 1254 if (!url) {
1255 - [tzImagePickerVc removeSelectedModel:obj]; 1255 + [CNTZImagePickerVc removeSelectedModel:obj];
1256 NSString *imgShowStr = [NSString stringWithFormat:@"选择中第%ld已损坏,已删除",(idx + 1)]; 1256 NSString *imgShowStr = [NSString stringWithFormat:@"选择中第%ld已损坏,已删除",(idx + 1)];
1257 - [tzImagePickerVc showAlertWithTitle:imgShowStr]; 1257 + [CNTZImagePickerVc showAlertWithTitle:imgShowStr];
1258 1258
1259 } 1259 }
1260 } 1260 }
1261 /*** 筛选损坏图片 ***/ 1261 /*** 筛选损坏图片 ***/
1262 - if (obj.type == TZAssetModelMediaTypePhotoGif  
1263 - || obj.type == TZAssetModelMediaTypePhoto) { 1262 + if (obj.type == CNTZAssetModelMediaTypePhotoGif
  1263 + || obj.type == CNTZAssetModelMediaTypePhoto) {
1264 1264
1265 UIImage *photo = [obj.asset getPhoto]; 1265 UIImage *photo = [obj.asset getPhoto];
1266 if (!photo) { 1266 if (!photo) {
1267 - [tzImagePickerVc removeSelectedModel:obj]; 1267 + [CNTZImagePickerVc removeSelectedModel:obj];
1268 NSString *imgShowStr = [NSString stringWithFormat:@"选择中第%ld已损坏,已删除",(idx + 1)]; 1268 NSString *imgShowStr = [NSString stringWithFormat:@"选择中第%ld已损坏,已删除",(idx + 1)];
1269 - [tzImagePickerVc showAlertWithTitle:imgShowStr]; 1269 + [CNTZImagePickerVc showAlertWithTitle:imgShowStr];
1270 } 1270 }
1271 1271
1272 } 1272 }
1273 1273
1274 }]; 1274 }];
1275 1275
1276 - for (TZAssetModel *model in tzImagePickerVc.selectedModels) { 1276 + for (CNTZAssetModel *model in CNTZImagePickerVc.selectedModels) {
1277 [selectedAssets addObject:model.asset]; 1277 [selectedAssets addObject:model.asset];
1278 } 1278 }
1279 - for (TZAssetModel *model in _models) { 1279 + for (CNTZAssetModel *model in _models) {
1280 model.isSelected = NO; 1280 model.isSelected = NO;
1281 - if ([[TZImageManager manager] isAssetsArray:selectedAssets containAsset:model.asset]) { 1281 + if ([[CNTZImageManager manager] isAssetsArray:selectedAssets containAsset:model.asset]) {
1282 model.isSelected = YES; 1282 model.isSelected = YES;
1283 } 1283 }
1284 } 1284 }
@@ -1301,11 +1301,11 @@ static CGFloat itemMargin = 5; @@ -1301,11 +1301,11 @@ static CGFloat itemMargin = 5;
1301 [picker dismissViewControllerAnimated:YES completion:nil]; 1301 [picker dismissViewControllerAnimated:YES completion:nil];
1302 NSString *type = [info objectForKey:UIImagePickerControllerMediaType]; 1302 NSString *type = [info objectForKey:UIImagePickerControllerMediaType];
1303 if ([type isEqualToString:@"public.image"]) { 1303 if ([type isEqualToString:@"public.image"]) {
1304 - TZImagePickerController *imagePickerVc = (TZImagePickerController *)self.navigationController; 1304 + CNTZImagePickerController *imagePickerVc = (CNTZImagePickerController *)self.navigationController;
1305 [imagePickerVc showProgressHUD]; 1305 [imagePickerVc showProgressHUD];
1306 UIImage *photo = [info objectForKey:UIImagePickerControllerOriginalImage]; 1306 UIImage *photo = [info objectForKey:UIImagePickerControllerOriginalImage];
1307 if (photo) { 1307 if (photo) {
1308 - [[TZImageManager manager] savePhotoWithImage:photo location:self.location completion:^(NSError *error){ 1308 + [[CNTZImageManager manager] savePhotoWithImage:photo location:self.location completion:^(NSError *error){
1309 if (!error) { 1309 if (!error) {
1310 [self reloadPhotoArrayWithMediaType:type]; 1310 [self reloadPhotoArrayWithMediaType:type];
1311 } 1311 }
@@ -1313,11 +1313,11 @@ static CGFloat itemMargin = 5; @@ -1313,11 +1313,11 @@ static CGFloat itemMargin = 5;
1313 self.location = nil; 1313 self.location = nil;
1314 } 1314 }
1315 } else if ([type isEqualToString:@"public.movie"]) { 1315 } else if ([type isEqualToString:@"public.movie"]) {
1316 - TZImagePickerController *imagePickerVc = (TZImagePickerController *)self.navigationController; 1316 + CNTZImagePickerController *imagePickerVc = (CNTZImagePickerController *)self.navigationController;
1317 [imagePickerVc showProgressHUD]; 1317 [imagePickerVc showProgressHUD];
1318 NSURL *videoUrl = [info objectForKey:UIImagePickerControllerMediaURL]; 1318 NSURL *videoUrl = [info objectForKey:UIImagePickerControllerMediaURL];
1319 if (videoUrl) { 1319 if (videoUrl) {
1320 - [[TZImageManager manager] saveVideoWithUrl:videoUrl location:self.location completion:^(NSError *error) { 1320 + [[CNTZImageManager manager] saveVideoWithUrl:videoUrl location:self.location completion:^(NSError *error) {
1321 if (!error) { 1321 if (!error) {
1322 [self reloadPhotoArrayWithMediaType:type]; 1322 [self reloadPhotoArrayWithMediaType:type];
1323 } 1323 }
@@ -1328,14 +1328,14 @@ static CGFloat itemMargin = 5; @@ -1328,14 +1328,14 @@ static CGFloat itemMargin = 5;
1328 } 1328 }
1329 1329
1330 - (void)reloadPhotoArrayWithMediaType:(NSString *)mediaType { 1330 - (void)reloadPhotoArrayWithMediaType:(NSString *)mediaType {
1331 - TZImagePickerController *tzImagePickerVc = (TZImagePickerController *)self.navigationController;  
1332 - [[TZImageManager manager] getCameraRollAlbum:tzImagePickerVc.allowPickingVideo allowPickingImage:tzImagePickerVc.allowPickingImage needFetchAssets:NO completion:^(TZAlbumModel *model) { 1331 + CNTZImagePickerController *CNTZImagePickerVc = (CNTZImagePickerController *)self.navigationController;
  1332 + [[CNTZImageManager manager] getCameraRollAlbum:CNTZImagePickerVc.allowPickingVideo allowPickingImage:CNTZImagePickerVc.allowPickingImage needFetchAssets:NO completion:^(CNTZAlbumModel *model) {
1333 self->_model = model; 1333 self->_model = model;
1334 - [[TZImageManager manager] getAssetsFromFetchResult:self->_model.result completion:^(NSArray<TZAssetModel *> *models) {  
1335 - [tzImagePickerVc hideProgressHUD]; 1334 + [[CNTZImageManager manager] getAssetsFromFetchResult:self->_model.result completion:^(NSArray<CNTZAssetModel *> *models) {
  1335 + [CNTZImagePickerVc hideProgressHUD];
1336 1336
1337 - TZAssetModel *assetModel;  
1338 - if (tzImagePickerVc.sortAscendingByModificationDate) { 1337 + CNTZAssetModel *assetModel;
  1338 + if (CNTZImagePickerVc.sortAscendingByModificationDate) {
1339 assetModel = [models lastObject]; 1339 assetModel = [models lastObject];
1340 [self->_models addObject:assetModel]; 1340 [self->_models addObject:assetModel];
1341 } else { 1341 } else {
@@ -1343,10 +1343,10 @@ static CGFloat itemMargin = 5; @@ -1343,10 +1343,10 @@ static CGFloat itemMargin = 5;
1343 [self->_models insertObject:assetModel atIndex:0]; 1343 [self->_models insertObject:assetModel atIndex:0];
1344 } 1344 }
1345 1345
1346 - if (tzImagePickerVc.maxImagesCount <= 1) {  
1347 - if (tzImagePickerVc.allowCrop) {  
1348 - TZPhotoPreviewController *photoPreviewVc = [[TZPhotoPreviewController alloc] init];  
1349 - if (tzImagePickerVc.sortAscendingByModificationDate) { 1346 + if (CNTZImagePickerVc.maxImagesCount <= 1) {
  1347 + if (CNTZImagePickerVc.allowCrop) {
  1348 + CNTZPhotoPreviewController *photoPreviewVc = [[CNTZPhotoPreviewController alloc] init];
  1349 + if (CNTZImagePickerVc.sortAscendingByModificationDate) {
1350 photoPreviewVc.currentIndex = self->_models.count - 1; 1350 photoPreviewVc.currentIndex = self->_models.count - 1;
1351 } else { 1351 } else {
1352 photoPreviewVc.currentIndex = 0; 1352 photoPreviewVc.currentIndex = 0;
@@ -1354,18 +1354,18 @@ static CGFloat itemMargin = 5; @@ -1354,18 +1354,18 @@ static CGFloat itemMargin = 5;
1354 photoPreviewVc.models = self->_models; 1354 photoPreviewVc.models = self->_models;
1355 [self pushPhotoPrevireViewController:photoPreviewVc]; 1355 [self pushPhotoPrevireViewController:photoPreviewVc];
1356 } else { 1356 } else {
1357 - [tzImagePickerVc addSelectedModel:assetModel]; 1357 + [CNTZImagePickerVc addSelectedModel:assetModel];
1358 [self doneButtonClick]; 1358 [self doneButtonClick];
1359 } 1359 }
1360 return; 1360 return;
1361 } 1361 }
1362 1362
1363 - if (tzImagePickerVc.selectedModels.count < tzImagePickerVc.maxImagesCount) {  
1364 - if ([mediaType isEqualToString:@"public.movie"] && !tzImagePickerVc.allowPickingMultipleVideo) { 1363 + if (CNTZImagePickerVc.selectedModels.count < CNTZImagePickerVc.maxImagesCount) {
  1364 + if ([mediaType isEqualToString:@"public.movie"] && !CNTZImagePickerVc.allowPickingMultipleVideo) {
1365 // 不能多选视频的情况下,不选中拍摄的视频 1365 // 不能多选视频的情况下,不选中拍摄的视频
1366 } else { 1366 } else {
1367 assetModel.isSelected = YES; 1367 assetModel.isSelected = YES;
1368 - [tzImagePickerVc addSelectedModel:assetModel]; 1368 + [CNTZImagePickerVc addSelectedModel:assetModel];
1369 [self refreshBottomToolBarStatus]; 1369 [self refreshBottomToolBarStatus];
1370 } 1370 }
1371 } 1371 }
@@ -1384,13 +1384,13 @@ static CGFloat itemMargin = 5; @@ -1384,13 +1384,13 @@ static CGFloat itemMargin = 5;
1384 1384
1385 - (void)dealloc { 1385 - (void)dealloc {
1386 // NSLog(@"%@ dealloc",NSStringFromClass(self.class)); 1386 // NSLog(@"%@ dealloc",NSStringFromClass(self.class));
1387 - NSLog(@"相册_相册_TZPhotoPickerController_dealloc"); 1387 + NSLog(@"相册_相册_CNTZPhotoPickerController_dealloc");
1388 } 1388 }
1389 1389
1390 #pragma mark - Asset Caching 1390 #pragma mark - Asset Caching
1391 1391
1392 - (void)resetCachedAssets { 1392 - (void)resetCachedAssets {
1393 - [[TZImageManager manager].cachingImageManager stopCachingImagesForAllAssets]; 1393 + [[CNTZImageManager manager].cachingImageManager stopCachingImagesForAllAssets];
1394 self.previousPreheatRect = CGRectZero; 1394 self.previousPreheatRect = CGRectZero;
1395 } 1395 }
1396 1396
@@ -1425,11 +1425,11 @@ static CGFloat itemMargin = 5; @@ -1425,11 +1425,11 @@ static CGFloat itemMargin = 5;
1425 NSArray *assetsToStopCaching = [self assetsAtIndexPaths:removedIndexPaths]; 1425 NSArray *assetsToStopCaching = [self assetsAtIndexPaths:removedIndexPaths];
1426 1426
1427 // Update the assets the PHCachingImageManager is caching. 1427 // Update the assets the PHCachingImageManager is caching.
1428 - [[TZImageManager manager].cachingImageManager startCachingImagesForAssets:assetsToStartCaching 1428 + [[CNTZImageManager manager].cachingImageManager startCachingImagesForAssets:assetsToStartCaching
1429 targetSize:AssetGridThumbnailSize 1429 targetSize:AssetGridThumbnailSize
1430 contentMode:PHImageContentModeAspectFill 1430 contentMode:PHImageContentModeAspectFill
1431 options:nil]; 1431 options:nil];
1432 - [[TZImageManager manager].cachingImageManager stopCachingImagesForAssets:assetsToStopCaching 1432 + [[CNTZImageManager manager].cachingImageManager stopCachingImagesForAssets:assetsToStopCaching
1433 targetSize:AssetGridThumbnailSize 1433 targetSize:AssetGridThumbnailSize
1434 contentMode:PHImageContentModeAspectFill 1434 contentMode:PHImageContentModeAspectFill
1435 options:nil]; 1435 options:nil];
@@ -1477,7 +1477,7 @@ static CGFloat itemMargin = 5; @@ -1477,7 +1477,7 @@ static CGFloat itemMargin = 5;
1477 NSMutableArray *assets = [NSMutableArray arrayWithCapacity:indexPaths.count]; 1477 NSMutableArray *assets = [NSMutableArray arrayWithCapacity:indexPaths.count];
1478 for (NSIndexPath *indexPath in indexPaths) { 1478 for (NSIndexPath *indexPath in indexPaths) {
1479 if (indexPath.item < _models.count) { 1479 if (indexPath.item < _models.count) {
1480 - TZAssetModel *model = _models[indexPath.item]; 1480 + CNTZAssetModel *model = _models[indexPath.item];
1481 [assets addObject:model.asset]; 1481 [assets addObject:model.asset];
1482 } 1482 }
1483 } 1483 }
@@ -1501,7 +1501,7 @@ static CGFloat itemMargin = 5; @@ -1501,7 +1501,7 @@ static CGFloat itemMargin = 5;
1501 1501
1502 1502
1503 1503
1504 -@implementation TZCollectionView 1504 +@implementation CNTZCollectionView
1505 1505
1506 - (BOOL)touchesShouldCancelInContentView:(UIView *)view { 1506 - (BOOL)touchesShouldCancelInContentView:(UIView *)view {
1507 if ([view isKindOfClass:[UIControl class]]) { 1507 if ([view isKindOfClass:[UIControl class]]) {
CNLiveImagePickerController/Classes/TZPhotoPreviewCell.h renamed to CNLiveImagePickerController/Classes/CNTZPhotoPreviewCell.h
1 // 1 //
2 -// TZPhotoPreviewCell.h  
3 -// TZImagePickerController 2 +// CNTZPhotoPreviewCell.h
  3 +// CNTZImagePickerController
4 // 4 //
5 // Created by 谭真 on 15/12/24. 5 // Created by 谭真 on 15/12/24.
6 // Copyright © 2015年 谭真. All rights reserved. 6 // Copyright © 2015年 谭真. All rights reserved.
@@ -8,21 +8,21 @@ @@ -8,21 +8,21 @@
8 8
9 #import <UIKit/UIKit.h> 9 #import <UIKit/UIKit.h>
10 10
11 -@class TZAssetModel;  
12 -@interface TZAssetPreviewCell : UICollectionViewCell  
13 -@property (nonatomic, strong) TZAssetModel *model; 11 +@class CNTZAssetModel;
  12 +@interface CNTZAssetPreviewCell : UICollectionViewCell
  13 +@property (nonatomic, strong) CNTZAssetModel *model;
14 @property (nonatomic, copy) void (^singleTapGestureBlock)(void); 14 @property (nonatomic, copy) void (^singleTapGestureBlock)(void);
15 - (void)configSubviews; 15 - (void)configSubviews;
16 - (void)photoPreviewCollectionViewDidScroll; 16 - (void)photoPreviewCollectionViewDidScroll;
17 @end 17 @end
18 18
19 19
20 -@class TZAssetModel,TZProgressView,TZPhotoPreviewView;  
21 -@interface TZPhotoPreviewCell : TZAssetPreviewCell 20 +@class CNTZAssetModel,CNTZProgressView,CNTZPhotoPreviewView;
  21 +@interface CNTZPhotoPreviewCell : CNTZAssetPreviewCell
22 22
23 @property (nonatomic, copy) void (^imageProgressUpdateBlock)(double progress); 23 @property (nonatomic, copy) void (^imageProgressUpdateBlock)(double progress);
24 24
25 -@property (nonatomic, strong) TZPhotoPreviewView *previewView; 25 +@property (nonatomic, strong) CNTZPhotoPreviewView *previewView;
26 26
27 @property (nonatomic, assign) BOOL allowCrop; 27 @property (nonatomic, assign) BOOL allowCrop;
28 @property (nonatomic, assign) CGRect cropRect; 28 @property (nonatomic, assign) CGRect cropRect;
@@ -32,16 +32,16 @@ @@ -32,16 +32,16 @@
32 @end 32 @end
33 33
34 34
35 -@interface TZPhotoPreviewView : UIView 35 +@interface CNTZPhotoPreviewView : UIView
36 @property (nonatomic, strong) UIImageView *imageView; 36 @property (nonatomic, strong) UIImageView *imageView;
37 @property (nonatomic, strong) UIScrollView *scrollView; 37 @property (nonatomic, strong) UIScrollView *scrollView;
38 @property (nonatomic, strong) UIView *imageContainerView; 38 @property (nonatomic, strong) UIView *imageContainerView;
39 -@property (nonatomic, strong) TZProgressView *progressView; 39 +@property (nonatomic, strong) CNTZProgressView *progressView;
40 40
41 @property (nonatomic, assign) BOOL allowCrop; 41 @property (nonatomic, assign) BOOL allowCrop;
42 @property (nonatomic, assign) CGRect cropRect; 42 @property (nonatomic, assign) CGRect cropRect;
43 43
44 -@property (nonatomic, strong) TZAssetModel *model; 44 +@property (nonatomic, strong) CNTZAssetModel *model;
45 @property (nonatomic, strong) id asset; 45 @property (nonatomic, strong) id asset;
46 @property (nonatomic, copy) void (^singleTapGestureBlock)(void); 46 @property (nonatomic, copy) void (^singleTapGestureBlock)(void);
47 @property (nonatomic, copy) void (^imageProgressUpdateBlock)(double progress); 47 @property (nonatomic, copy) void (^imageProgressUpdateBlock)(double progress);
@@ -53,19 +53,19 @@ @@ -53,19 +53,19 @@
53 53
54 54
55 @class AVPlayer, AVPlayerLayer; 55 @class AVPlayer, AVPlayerLayer;
56 -@interface TZVideoPreviewCell : TZAssetPreviewCell 56 +@interface CNTZVideoPreviewCell : CNTZAssetPreviewCell
57 @property (strong, nonatomic) AVPlayer *player; 57 @property (strong, nonatomic) AVPlayer *player;
58 @property (strong, nonatomic) AVPlayerLayer *playerLayer; 58 @property (strong, nonatomic) AVPlayerLayer *playerLayer;
59 @property (strong, nonatomic) UIButton *playButton; 59 @property (strong, nonatomic) UIButton *playButton;
60 @property (strong, nonatomic) UIImage *cover; 60 @property (strong, nonatomic) UIImage *cover;
61 61
62 -@property (nonatomic, strong) TZProgressView *progressView;  
63 -@property (nonatomic, copy) void (^imageProgressUpdateBlock)(TZVideoPreviewCell *cell); 62 +@property (nonatomic, strong) CNTZProgressView *progressView;
  63 +@property (nonatomic, copy) void (^imageProgressUpdateBlock)(CNTZVideoPreviewCell *cell);
64 64
65 - (void)pausePlayerAndShowNaviBar; 65 - (void)pausePlayerAndShowNaviBar;
66 @end 66 @end
67 67
68 68
69 -@interface TZGifPreviewCell : TZAssetPreviewCell  
70 -@property (strong, nonatomic) TZPhotoPreviewView *previewView; 69 +@interface CNTZGifPreviewCell : CNTZAssetPreviewCell
  70 +@property (strong, nonatomic) CNTZPhotoPreviewView *previewView;
71 @end 71 @end
CNLiveImagePickerController/Classes/TZPhotoPreviewCell.m renamed to CNLiveImagePickerController/Classes/CNTZPhotoPreviewCell.m
1 // 1 //
2 -// TZPhotoPreviewCell.m  
3 -// TZImagePickerController 2 +// CNTZPhotoPreviewCell.m
  3 +// CNTZImagePickerController
4 // 4 //
5 // Created by 谭真 on 15/12/24. 5 // Created by 谭真 on 15/12/24.
6 // Copyright © 2015年 谭真. All rights reserved. 6 // Copyright © 2015年 谭真. All rights reserved.
7 // 7 //
8 8
9 -#import "TZPhotoPreviewCell.h"  
10 -#import "TZAssetModel.h"  
11 -#import "UIView+TZLayout.h"  
12 -#import "TZImageManager.h"  
13 -#import "TZProgressView.h"  
14 -#import "TZImageCropManager.h" 9 +#import "CNTZPhotoPreviewCell.h"
  10 +#import "CNTZAssetModel.h"
  11 +#import "UIView+CNTZLayout.h"
  12 +#import "CNTZImageManager.h"
  13 +#import "CNTZProgressView.h"
  14 +#import "CNTZImageCropManager.h"
15 #import <MediaPlayer/MediaPlayer.h> 15 #import <MediaPlayer/MediaPlayer.h>
16 -#import "TZImagePickerController.h" 16 +#import "CNTZImagePickerController.h"
17 17
18 #pragma mark - TODO: 2019.11.12 需要其他库依赖 18 #pragma mark - TODO: 2019.11.12 需要其他库依赖
19 //#import "CNAudioOrVideoMananger.h" 19 //#import "CNAudioOrVideoMananger.h"
20 //#import "CNLiveSoundManager.h" 20 //#import "CNLiveSoundManager.h"
21 //////////////////////// 21 ////////////////////////
22 -@implementation TZAssetPreviewCell 22 +@implementation CNTZAssetPreviewCell
23 23
24 - (instancetype)initWithFrame:(CGRect)frame { 24 - (instancetype)initWithFrame:(CGRect)frame {
25 self = [super initWithFrame:frame]; 25 self = [super initWithFrame:frame];
@@ -54,10 +54,10 @@ @@ -54,10 +54,10 @@
54 @end 54 @end
55 55
56 56
57 -@implementation TZPhotoPreviewCell 57 +@implementation CNTZPhotoPreviewCell
58 58
59 - (void)configSubviews { 59 - (void)configSubviews {
60 - self.previewView = [[TZPhotoPreviewView alloc] initWithFrame:CGRectZero]; 60 + self.previewView = [[CNTZPhotoPreviewView alloc] initWithFrame:CGRectZero];
61 __weak typeof(self) weakSelf = self; 61 __weak typeof(self) weakSelf = self;
62 [self.previewView setSingleTapGestureBlock:^{ 62 [self.previewView setSingleTapGestureBlock:^{
63 __strong typeof(weakSelf) strongSelf = weakSelf; 63 __strong typeof(weakSelf) strongSelf = weakSelf;
@@ -74,7 +74,7 @@ @@ -74,7 +74,7 @@
74 [self addSubview:self.previewView]; 74 [self addSubview:self.previewView];
75 } 75 }
76 76
77 -- (void)setModel:(TZAssetModel *)model { 77 +- (void)setModel:(CNTZAssetModel *)model {
78 [super setModel:model]; 78 [super setModel:model];
79 _previewView.asset = model.asset; 79 _previewView.asset = model.asset;
80 } 80 }
@@ -101,11 +101,11 @@ @@ -101,11 +101,11 @@
101 @end 101 @end
102 102
103 103
104 -@interface TZPhotoPreviewView ()<UIScrollViewDelegate> 104 +@interface CNTZPhotoPreviewView ()<UIScrollViewDelegate>
105 @property (assign, nonatomic) BOOL isRequestingGIF; 105 @property (assign, nonatomic) BOOL isRequestingGIF;
106 @end 106 @end
107 107
108 -@implementation TZPhotoPreviewView 108 +@implementation CNTZPhotoPreviewView
109 109
110 - (instancetype)initWithFrame:(CGRect)frame { 110 - (instancetype)initWithFrame:(CGRect)frame {
111 self = [super initWithFrame:frame]; 111 self = [super initWithFrame:frame];
@@ -152,18 +152,18 @@ @@ -152,18 +152,18 @@
152 } 152 }
153 153
154 - (void)configProgressView { 154 - (void)configProgressView {
155 - _progressView = [[TZProgressView alloc] init]; 155 + _progressView = [[CNTZProgressView alloc] init];
156 _progressView.hidden = YES; 156 _progressView.hidden = YES;
157 [self addSubview:_progressView]; 157 [self addSubview:_progressView];
158 } 158 }
159 159
160 -- (void)setModel:(TZAssetModel *)model { 160 +- (void)setModel:(CNTZAssetModel *)model {
161 _model = model; 161 _model = model;
162 self.isRequestingGIF = NO; 162 self.isRequestingGIF = NO;
163 [_scrollView setZoomScale:1.0 animated:NO]; 163 [_scrollView setZoomScale:1.0 animated:NO];
164 - if (model.type == TZAssetModelMediaTypePhotoGif) { 164 + if (model.type == CNTZAssetModelMediaTypePhotoGif) {
165 // 先显示缩略图 165 // 先显示缩略图
166 - [[TZImageManager manager] getPhotoWithAsset:model.asset completion:^(UIImage *photo, NSDictionary *info, BOOL isDegraded) { 166 + [[CNTZImageManager manager] getPhotoWithAsset:model.asset completion:^(UIImage *photo, NSDictionary *info, BOOL isDegraded) {
167 self.imageView.image = photo; 167 self.imageView.image = photo;
168 [self resizeSubviews]; 168 [self resizeSubviews];
169 if (self.isRequestingGIF) { 169 if (self.isRequestingGIF) {
@@ -171,7 +171,7 @@ @@ -171,7 +171,7 @@
171 } 171 }
172 // 再显示gif动图 172 // 再显示gif动图
173 self.isRequestingGIF = YES; 173 self.isRequestingGIF = YES;
174 - [[TZImageManager manager] getOriginalPhotoDataWithAsset:model.asset progressHandler:^(double progress, NSError *error, BOOL *stop, NSDictionary *info) { 174 + [[CNTZImageManager manager] getOriginalPhotoDataWithAsset:model.asset progressHandler:^(double progress, NSError *error, BOOL *stop, NSDictionary *info) {
175 progress = progress > 0.02 ? progress : 0.02; 175 progress = progress > 0.02 ? progress : 0.02;
176 dispatch_async(dispatch_get_main_queue(), ^{ 176 dispatch_async(dispatch_get_main_queue(), ^{
177 self.progressView.progress = progress; 177 self.progressView.progress = progress;
@@ -182,13 +182,13 @@ @@ -182,13 +182,13 @@
182 } 182 }
183 }); 183 });
184 #ifdef DEBUG 184 #ifdef DEBUG
185 - NSLog(@"[TZImagePickerController] getOriginalPhotoDataWithAsset:%f error:%@", progress, error); 185 + NSLog(@"[CNTZImagePickerController] getOriginalPhotoDataWithAsset:%f error:%@", progress, error);
186 #endif 186 #endif
187 } completion:^(NSData *data, NSDictionary *info, BOOL isDegraded) { 187 } completion:^(NSData *data, NSDictionary *info, BOOL isDegraded) {
188 if (!isDegraded) { 188 if (!isDegraded) {
189 self.isRequestingGIF = NO; 189 self.isRequestingGIF = NO;
190 self.progressView.hidden = YES; 190 self.progressView.hidden = YES;
191 - self.imageView.image = [UIImage sd_tz_animatedGIFWithData:data]; 191 + self.imageView.image = [UIImage sd_CNTZ_animatedGIFWithData:data];
192 [self resizeSubviews]; 192 [self resizeSubviews];
193 } 193 }
194 }]; 194 }];
@@ -204,7 +204,7 @@ @@ -204,7 +204,7 @@
204 } 204 }
205 205
206 _asset = asset; 206 _asset = asset;
207 - self.imageRequestID = [[TZImageManager manager] getPhotoWithAsset:asset completion:^(UIImage *photo, NSDictionary *info, BOOL isDegraded) { 207 + self.imageRequestID = [[CNTZImageManager manager] getPhotoWithAsset:asset completion:^(UIImage *photo, NSDictionary *info, BOOL isDegraded) {
208 if (![asset isEqual:self->_asset]) return; 208 if (![asset isEqual:self->_asset]) return;
209 self.imageView.image = photo; 209 self.imageView.image = photo;
210 [self resizeSubviews]; 210 [self resizeSubviews];
@@ -238,26 +238,26 @@ @@ -238,26 +238,26 @@
238 } 238 }
239 239
240 - (void)resizeSubviews { 240 - (void)resizeSubviews {
241 - _imageContainerView.tz_origin = CGPointZero;  
242 - _imageContainerView.tz_width = self.scrollView.tz_width; 241 + _imageContainerView.CNTZ_origin = CGPointZero;
  242 + _imageContainerView.CNTZ_width = self.scrollView.CNTZ_width;
243 243
244 UIImage *image = _imageView.image; 244 UIImage *image = _imageView.image;
245 - if (image.size.height / image.size.width > self.tz_height / self.scrollView.tz_width) {  
246 - _imageContainerView.tz_height = floor(image.size.height / (image.size.width / self.scrollView.tz_width)); 245 + if (image.size.height / image.size.width > self.CNTZ_height / self.scrollView.CNTZ_width) {
  246 + _imageContainerView.CNTZ_height = floor(image.size.height / (image.size.width / self.scrollView.CNTZ_width));
247 } else { 247 } else {
248 - CGFloat height = image.size.height / image.size.width * self.scrollView.tz_width;  
249 - if (height < 1 || isnan(height)) height = self.tz_height; 248 + CGFloat height = image.size.height / image.size.width * self.scrollView.CNTZ_width;
  249 + if (height < 1 || isnan(height)) height = self.CNTZ_height;
250 height = floor(height); 250 height = floor(height);
251 - _imageContainerView.tz_height = height;  
252 - _imageContainerView.tz_centerY = self.tz_height / 2; 251 + _imageContainerView.CNTZ_height = height;
  252 + _imageContainerView.CNTZ_centerY = self.CNTZ_height / 2;
253 } 253 }
254 - if (_imageContainerView.tz_height > self.tz_height && _imageContainerView.tz_height - self.tz_height <= 1) {  
255 - _imageContainerView.tz_height = self.tz_height; 254 + if (_imageContainerView.CNTZ_height > self.CNTZ_height && _imageContainerView.CNTZ_height - self.CNTZ_height <= 1) {
  255 + _imageContainerView.CNTZ_height = self.CNTZ_height;
256 } 256 }
257 - CGFloat contentSizeH = MAX(_imageContainerView.tz_height, self.tz_height);  
258 - _scrollView.contentSize = CGSizeMake(self.scrollView.tz_width, contentSizeH); 257 + CGFloat contentSizeH = MAX(_imageContainerView.CNTZ_height, self.CNTZ_height);
  258 + _scrollView.contentSize = CGSizeMake(self.scrollView.CNTZ_width, contentSizeH);
259 [_scrollView scrollRectToVisible:self.bounds animated:NO]; 259 [_scrollView scrollRectToVisible:self.bounds animated:NO];
260 - _scrollView.alwaysBounceVertical = _imageContainerView.tz_height <= self.tz_height ? NO : YES; 260 + _scrollView.alwaysBounceVertical = _imageContainerView.CNTZ_height <= self.CNTZ_height ? NO : YES;
261 _imageView.frame = _imageContainerView.bounds; 261 _imageView.frame = _imageContainerView.bounds;
262 262
263 [self refreshScrollViewContentSize]; 263 [self refreshScrollViewContentSize];
@@ -281,10 +281,10 @@ @@ -281,10 +281,10 @@
281 if (_allowCrop) { 281 if (_allowCrop) {
282 // 1.7.2 如果允许裁剪,需要让图片的任意部分都能在裁剪框内,于是对_scrollView做了如下处理: 282 // 1.7.2 如果允许裁剪,需要让图片的任意部分都能在裁剪框内,于是对_scrollView做了如下处理:
283 // 1.让contentSize增大(裁剪框右下角的图片部分) 283 // 1.让contentSize增大(裁剪框右下角的图片部分)
284 - CGFloat contentWidthAdd = self.scrollView.tz_width - CGRectGetMaxX(_cropRect);  
285 - CGFloat contentHeightAdd = (MIN(_imageContainerView.tz_height, self.tz_height) - self.cropRect.size.height) / 2; 284 + CGFloat contentWidthAdd = self.scrollView.CNTZ_width - CGRectGetMaxX(_cropRect);
  285 + CGFloat contentHeightAdd = (MIN(_imageContainerView.CNTZ_height, self.CNTZ_height) - self.cropRect.size.height) / 2;
286 CGFloat newSizeW = self.scrollView.contentSize.width + contentWidthAdd; 286 CGFloat newSizeW = self.scrollView.contentSize.width + contentWidthAdd;
287 - CGFloat newSizeH = MAX(self.scrollView.contentSize.height, self.tz_height) + contentHeightAdd; 287 + CGFloat newSizeH = MAX(self.scrollView.contentSize.height, self.CNTZ_height) + contentHeightAdd;
288 _scrollView.contentSize = CGSizeMake(newSizeW, newSizeH); 288 _scrollView.contentSize = CGSizeMake(newSizeW, newSizeH);
289 _scrollView.alwaysBounceVertical = YES; 289 _scrollView.alwaysBounceVertical = YES;
290 // 2.让scrollView新增滑动区域(裁剪框左上角的图片部分) 290 // 2.让scrollView新增滑动区域(裁剪框左上角的图片部分)
@@ -298,10 +298,10 @@ @@ -298,10 +298,10 @@
298 298
299 - (void)layoutSubviews { 299 - (void)layoutSubviews {
300 [super layoutSubviews]; 300 [super layoutSubviews];
301 - _scrollView.frame = CGRectMake(10, 0, self.tz_width - 20, self.tz_height); 301 + _scrollView.frame = CGRectMake(10, 0, self.CNTZ_width - 20, self.CNTZ_height);
302 static CGFloat progressWH = 40; 302 static CGFloat progressWH = 40;
303 - CGFloat progressX = (self.tz_width - progressWH) / 2;  
304 - CGFloat progressY = (self.tz_height - progressWH) / 2; 303 + CGFloat progressX = (self.CNTZ_width - progressWH) / 2;
  304 + CGFloat progressY = (self.CNTZ_height - progressWH) / 2;
305 _progressView.frame = CGRectMake(progressX, progressY, progressWH, progressWH); 305 _progressView.frame = CGRectMake(progressX, progressY, progressWH, progressWH);
306 306
307 [self recoverSubviews]; 307 [self recoverSubviews];
@@ -349,15 +349,15 @@ @@ -349,15 +349,15 @@
349 #pragma mark - Private 349 #pragma mark - Private
350 350
351 - (void)refreshImageContainerViewCenter { 351 - (void)refreshImageContainerViewCenter {
352 - CGFloat offsetX = (_scrollView.tz_width > _scrollView.contentSize.width) ? ((_scrollView.tz_width - _scrollView.contentSize.width) * 0.5) : 0.0;  
353 - CGFloat offsetY = (_scrollView.tz_height > _scrollView.contentSize.height) ? ((_scrollView.tz_height - _scrollView.contentSize.height) * 0.5) : 0.0; 352 + CGFloat offsetX = (_scrollView.CNTZ_width > _scrollView.contentSize.width) ? ((_scrollView.CNTZ_width - _scrollView.contentSize.width) * 0.5) : 0.0;
  353 + CGFloat offsetY = (_scrollView.CNTZ_height > _scrollView.contentSize.height) ? ((_scrollView.CNTZ_height - _scrollView.contentSize.height) * 0.5) : 0.0;
354 self.imageContainerView.center = CGPointMake(_scrollView.contentSize.width * 0.5 + offsetX, _scrollView.contentSize.height * 0.5 + offsetY); 354 self.imageContainerView.center = CGPointMake(_scrollView.contentSize.width * 0.5 + offsetX, _scrollView.contentSize.height * 0.5 + offsetY);
355 } 355 }
356 356
357 @end 357 @end
358 358
359 359
360 -@implementation TZVideoPreviewCell 360 +@implementation CNTZVideoPreviewCell
361 361
362 - (void)dealloc 362 - (void)dealloc
363 { 363 {
@@ -400,14 +400,14 @@ @@ -400,14 +400,14 @@
400 [_progressView removeFromSuperview]; 400 [_progressView removeFromSuperview];
401 } 401 }
402 402
403 - _progressView = [[TZProgressView alloc]init]; 403 + _progressView = [[CNTZProgressView alloc]init];
404 _progressView.hidden = YES; 404 _progressView.hidden = YES;
405 [self addSubview:_progressView]; 405 [self addSubview:_progressView];
406 406
407 } 407 }
408 408
409 409
410 -- (void)setModel:(TZAssetModel *)model { 410 +- (void)setModel:(CNTZAssetModel *)model {
411 [super setModel:model]; 411 [super setModel:model];
412 [self configMoviePlayer]; 412 [self configMoviePlayer];
413 } 413 }
@@ -427,7 +427,7 @@ @@ -427,7 +427,7 @@
427 } 427 }
428 428
429 __weak typeof(self) weakSelf = self; 429 __weak typeof(self) weakSelf = self;
430 - [[TZImageManager manager] getPhotoWithAsset:self.model.asset completion:^(UIImage *photo, NSDictionary *info, BOOL isDegraded) { 430 + [[CNTZImageManager manager] getPhotoWithAsset:self.model.asset completion:^(UIImage *photo, NSDictionary *info, BOOL isDegraded) {
431 NSLog(@"输出图片info = %@",info); 431 NSLog(@"输出图片info = %@",info);
432 /** 获取图片 */ 432 /** 获取图片 */
433 weakSelf.cover = photo; 433 weakSelf.cover = photo;
@@ -441,7 +441,7 @@ @@ -441,7 +441,7 @@
441 441
442 if (self.model.isVideoICloudDownLoad || !self.model.isICloudType) {//已下载 或 不是iCloud 442 if (self.model.isVideoICloudDownLoad || !self.model.isICloudType) {//已下载 或 不是iCloud
443 443
444 - [[TZImageManager manager] getVideoWithAsset:self.model.asset completion:^(AVPlayerItem *playerItem, NSDictionary *info) { 444 + [[CNTZImageManager manager] getVideoWithAsset:self.model.asset completion:^(AVPlayerItem *playerItem, NSDictionary *info) {
445 445
446 dispatch_async(dispatch_get_main_queue(), ^{ 446 dispatch_async(dispatch_get_main_queue(), ^{
447 447
@@ -540,7 +540,7 @@ @@ -540,7 +540,7 @@
540 540
541 [self configProgressView];//添加HUD 541 [self configProgressView];//添加HUD
542 542
543 - [[TZImageManager manager] getVideoWithAsset:self.model.asset completion:^(AVPlayerItem *playerItem, NSDictionary *info) { 543 + [[CNTZImageManager manager] getVideoWithAsset:self.model.asset completion:^(AVPlayerItem *playerItem, NSDictionary *info) {
544 544
545 NSLog(@"输出视频info = %@",info); 545 NSLog(@"输出视频info = %@",info);
546 546
@@ -654,8 +654,8 @@ @@ -654,8 +654,8 @@
654 - (void)layoutSubviews { 654 - (void)layoutSubviews {
655 [super layoutSubviews]; 655 [super layoutSubviews];
656 _playerLayer.frame = self.bounds; 656 _playerLayer.frame = self.bounds;
657 - _playButton.frame = CGRectMake(0, 64, self.tz_width, self.tz_height - 64 - 44);  
658 - _progressView.frame = CGRectMake((self.tz_width - 50)/2, (self.tz_height - 50)/2 , 50, 50); 657 + _playButton.frame = CGRectMake(0, 64, self.CNTZ_width, self.CNTZ_height - 64 - 44);
  658 + _progressView.frame = CGRectMake((self.CNTZ_width - 50)/2, (self.CNTZ_height - 50)/2 , 50, 50);
659 } 659 }
660 660
661 - (void)photoPreviewCollectionViewDidScroll { 661 - (void)photoPreviewCollectionViewDidScroll {
@@ -723,14 +723,14 @@ @@ -723,14 +723,14 @@
723 @end 723 @end
724 724
725 725
726 -@implementation TZGifPreviewCell 726 +@implementation CNTZGifPreviewCell
727 727
728 - (void)configSubviews { 728 - (void)configSubviews {
729 [self configPreviewView]; 729 [self configPreviewView];
730 } 730 }
731 731
732 - (void)configPreviewView { 732 - (void)configPreviewView {
733 - _previewView = [[TZPhotoPreviewView alloc] initWithFrame:CGRectZero]; 733 + _previewView = [[CNTZPhotoPreviewView alloc] initWithFrame:CGRectZero];
734 __weak typeof(self) weakSelf = self; 734 __weak typeof(self) weakSelf = self;
735 [_previewView setSingleTapGestureBlock:^{ 735 [_previewView setSingleTapGestureBlock:^{
736 __strong typeof(weakSelf) strongSelf = weakSelf; 736 __strong typeof(weakSelf) strongSelf = weakSelf;
@@ -739,7 +739,7 @@ @@ -739,7 +739,7 @@
739 [self addSubview:_previewView]; 739 [self addSubview:_previewView];
740 } 740 }
741 741
742 -- (void)setModel:(TZAssetModel *)model { 742 +- (void)setModel:(CNTZAssetModel *)model {
743 [super setModel:model]; 743 [super setModel:model];
744 _previewView.model = self.model; 744 _previewView.model = self.model;
745 } 745 }
CNLiveImagePickerController/Classes/TZPhotoPreviewController.h renamed to CNLiveImagePickerController/Classes/CNTZPhotoPreviewController.h
1 // 1 //
2 -// TZPhotoPreviewController.h  
3 -// TZImagePickerController 2 +// CNTZPhotoPreviewController.h
  3 +// CNTZImagePickerController
4 // 4 //
5 // Created by 谭真 on 15/12/24. 5 // Created by 谭真 on 15/12/24.
6 // Copyright © 2015年 谭真. All rights reserved. 6 // Copyright © 2015年 谭真. All rights reserved.
@@ -13,7 +13,7 @@ typedef enum : NSUInteger { @@ -13,7 +13,7 @@ typedef enum : NSUInteger {
13 PhotoPreviewEnterTypeSelected, 13 PhotoPreviewEnterTypeSelected,
14 } PhotoPreviewEnterType; 14 } PhotoPreviewEnterType;
15 15
16 -@interface TZPhotoPreviewController : UIViewController 16 +@interface CNTZPhotoPreviewController : UIViewController
17 17
18 @property (nonatomic, assign) PhotoPreviewEnterType enterType; 18 @property (nonatomic, assign) PhotoPreviewEnterType enterType;
19 19