//
|
// 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"
|
|
@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:self.view.bounds];
|
_previewView.scrollView.frame = self.view.bounds;
|
_previewView.model = self.model;
|
__weak typeof(self) weakSelf = self;
|
[_previewView setSingleTapGestureBlock:^{
|
[weakSelf signleTapAction];
|
}];
|
[self.view addSubview:_previewView];
|
}
|
|
- (void)configBottomToolBar {
|
_toolBar = [[UIView alloc] initWithFrame:CGRectMake(0, self.view.tz_height - 44, self.view.tz_width, 44)];
|
CGFloat rgb = 34 / 255.0;
|
_toolBar.backgroundColor = [UIColor colorWithRed:rgb green:rgb blue:rgb alpha:0.7];
|
|
_doneButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
_doneButton.frame = CGRectMake(self.view.tz_width - 44 - 12, 0, 44, 44);
|
_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];
|
}
|
|
#pragma mark - Click Event
|
|
- (void)signleTapAction {
|
_toolBar.hidden = !_toolBar.isHidden;
|
[self.navigationController setNavigationBarHidden:_toolBar.isHidden];
|
if (iOS7Later) [UIApplication sharedApplication].statusBarHidden = _toolBar.isHidden;
|
}
|
|
- (void)doneButtonClick {
|
TZImagePickerController *imagePickerVc = (TZImagePickerController *)self.navigationController;
|
if (self.navigationController) {
|
if (imagePickerVc.autoDismiss) {
|
[self.navigationController dismissViewControllerAnimated:YES completion:^{
|
[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);
|
}
|
}
|
|
@end
|