From 7b02207537d35bfa1714bf8beafc921f717d100a Mon Sep 17 00:00:00 2001
From: 单军华
Date: Wed, 11 Jul 2018 10:47:42 +0800
Subject: [PATCH] 首次上传
---
screendisplay/Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZGifPhotoPreviewController.m | 161 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 161 insertions(+), 0 deletions(-)
diff --git a/screendisplay/Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZGifPhotoPreviewController.m b/screendisplay/Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZGifPhotoPreviewController.m
new file mode 100644
index 0000000..6a911da
--- /dev/null
+++ b/screendisplay/Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZGifPhotoPreviewController.m
@@ -0,0 +1,161 @@
+//
+// TZGifPhotoPreviewController.m
+// TZImagePickerController
+//
+// Created by ttouch on 2016/12/13.
+// Copyright �� 2016��� ������. All rights reserved.
+//
+
+#import "TZGifPhotoPreviewController.h"
+#import "TZImagePickerController.h"
+#import "TZAssetModel.h"
+#import "UIView+Layout.h"
+#import "TZPhotoPreviewCell.h"
+#import "TZImageManager.h"
+
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+
+@interface TZGifPhotoPreviewController () {
+ UIView *_toolBar;
+ UIButton *_doneButton;
+ UIProgressView *_progress;
+
+ TZPhotoPreviewView *_previewView;
+
+ UIStatusBarStyle _originStatusBarStyle;
+}
+@end
+
+@implementation TZGifPhotoPreviewController
+
+- (void)viewDidLoad {
+ [super viewDidLoad];
+ self.view.backgroundColor = [UIColor blackColor];
+ TZImagePickerController *tzImagePickerVc = (TZImagePickerController *)self.navigationController;
+ if (tzImagePickerVc) {
+ self.navigationItem.title = [NSString stringWithFormat:@"GIF %@",tzImagePickerVc.previewBtnTitleStr];
+ }
+ [self configPreviewView];
+ [self configBottomToolBar];
+}
+
+- (void)viewWillAppear:(BOOL)animated {
+ [super viewWillAppear:animated];
+ _originStatusBarStyle = [UIApplication sharedApplication].statusBarStyle;
+ [UIApplication sharedApplication].statusBarStyle = iOS7Later ? UIStatusBarStyleLightContent : UIStatusBarStyleBlackOpaque;
+}
+
+- (void)viewWillDisappear:(BOOL)animated {
+ [super viewWillDisappear:animated];
+ [UIApplication sharedApplication].statusBarStyle = _originStatusBarStyle;
+}
+
+- (void)configPreviewView {
+ _previewView = [[TZPhotoPreviewView alloc] initWithFrame:CGRectZero];
+ _previewView.model = self.model;
+ __weak typeof(self) weakSelf = self;
+ [_previewView setSingleTapGestureBlock:^{
+ __strong typeof(weakSelf) strongSelf = weakSelf;
+ [strongSelf signleTapAction];
+ }];
+ [self.view addSubview:_previewView];
+}
+
+- (void)configBottomToolBar {
+ _toolBar = [[UIView alloc] initWithFrame:CGRectZero];
+ CGFloat rgb = 34 / 255.0;
+ _toolBar.backgroundColor = [UIColor colorWithRed:rgb green:rgb blue:rgb alpha:0.7];
+
+ _doneButton = [UIButton buttonWithType:UIButtonTypeCustom];
+ _doneButton.titleLabel.font = [UIFont systemFontOfSize:16];
+ [_doneButton addTarget:self action:@selector(doneButtonClick) forControlEvents:UIControlEventTouchUpInside];
+ TZImagePickerController *tzImagePickerVc = (TZImagePickerController *)self.navigationController;
+ if (tzImagePickerVc) {
+ [_doneButton setTitle:tzImagePickerVc.doneBtnTitleStr forState:UIControlStateNormal];
+ [_doneButton setTitleColor:tzImagePickerVc.oKButtonTitleColorNormal forState:UIControlStateNormal];
+ } else {
+ [_doneButton setTitle:[NSBundle tz_localizedStringForKey:@"Done"] forState:UIControlStateNormal];
+ [_doneButton setTitleColor:[UIColor colorWithRed:(83/255.0) green:(179/255.0) blue:(17/255.0) alpha:1.0] forState:UIControlStateNormal];
+ }
+ [_toolBar addSubview:_doneButton];
+
+ UILabel *byteLabel = [[UILabel alloc] init];
+ byteLabel.textColor = [UIColor whiteColor];
+ byteLabel.font = [UIFont systemFontOfSize:13];
+ byteLabel.frame = CGRectMake(10, 0, 100, 44);
+ [[TZImageManager manager] getPhotosBytesWithArray:@[_model] completion:^(NSString *totalBytes) {
+ byteLabel.text = totalBytes;
+ }];
+ [_toolBar addSubview:byteLabel];
+
+ [self.view addSubview:_toolBar];
+
+ if (tzImagePickerVc.gifPreviewPageUIConfigBlock) {
+ tzImagePickerVc.gifPreviewPageUIConfigBlock(_toolBar, _doneButton);
+ }
+}
+
+#pragma mark - Layout
+
+- (void)viewDidLayoutSubviews {
+ [super viewDidLayoutSubviews];
+
+ _previewView.frame = self.view.bounds;
+ _previewView.scrollView.frame = self.view.bounds;
+ CGFloat toolBarHeight = [TZCommonTools tz_isIPhoneX] ? 44 + (83 - 49) : 44;
+ _toolBar.frame = CGRectMake(0, self.view.tz_height - toolBarHeight, self.view.tz_width, toolBarHeight);
+ _doneButton.frame = CGRectMake(self.view.tz_width - 44 - 12, 0, 44, 44);
+
+ TZImagePickerController *tzImagePickerVc = (TZImagePickerController *)self.navigationController;
+ if (tzImagePickerVc.gifPreviewPageDidLayoutSubviewsBlock) {
+ tzImagePickerVc.gifPreviewPageDidLayoutSubviewsBlock(_toolBar, _doneButton);
+ }
+}
+
+#pragma mark - Click Event
+
+- (void)signleTapAction {
+ _toolBar.hidden = !_toolBar.isHidden;
+ [self.navigationController setNavigationBarHidden:_toolBar.isHidden];
+ TZImagePickerController *tzImagePickerVc = (TZImagePickerController *)self.navigationController;
+ if (iOS7Later) {
+ if (_toolBar.isHidden) {
+ [UIApplication sharedApplication].statusBarHidden = YES;
+ } else if (tzImagePickerVc.needShowStatusBar) {
+ [UIApplication sharedApplication].statusBarHidden = NO;
+ }
+ }
+}
+
+- (void)doneButtonClick {
+ if (self.navigationController) {
+ TZImagePickerController *imagePickerVc = (TZImagePickerController *)self.navigationController;
+ if (imagePickerVc.autoDismiss) {
+ [self.navigationController dismissViewControllerAnimated:YES completion:^{
+ [self callDelegateMethod];
+ }];
+ } else {
+ [self callDelegateMethod];
+ }
+ } else {
+ [self dismissViewControllerAnimated:YES completion:^{
+ [self callDelegateMethod];
+ }];
+ }
+}
+
+- (void)callDelegateMethod {
+ TZImagePickerController *imagePickerVc = (TZImagePickerController *)self.navigationController;
+ UIImage *animatedImage = _previewView.imageView.image;
+ if ([imagePickerVc.pickerDelegate respondsToSelector:@selector(imagePickerController:didFinishPickingGifImage:sourceAssets:)]) {
+ [imagePickerVc.pickerDelegate imagePickerController:imagePickerVc didFinishPickingGifImage:animatedImage sourceAssets:_model.asset];
+ }
+ if (imagePickerVc.didFinishPickingGifImageHandle) {
+ imagePickerVc.didFinishPickingGifImageHandle(animatedImage,_model.asset);
+ }
+}
+
+#pragma clang diagnostic pop
+
+@end
--
Gitblit v1.8.0