| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- //
- // YBProgressObj.m
- // YBVideo
- //
- // Created by YB007 on 2019/11/26.
- // Copyright © 2019 cat. All rights reserved.
- //
- #import "YBProgressObj.h"
- @interface YBProgressObj()
- @property(nonatomic,strong)UIView *generationView;
- @property(nonatomic,strong)UILabel *generationTitleLabel;
- @property(nonatomic,strong)UIProgressView *generateProgressView;
- @property(nonatomic,strong)UIButton *generateCannelBtn;
- @property(nonatomic,copy)YBProgressBlock progressEvent;
- @property(nonatomic,assign)BOOL isExist;
- @end
- @implementation YBProgressObj
- static YBProgressObj *progressManeger = nil;
- +(instancetype)progressManeger {
- static dispatch_once_t onceToken;
- dispatch_once(&onceToken, ^{
- progressManeger = [[super allocWithZone:NULL]init];
- });
- return progressManeger;
- }
- +(instancetype)allocWithZone:(struct _NSZone *)zone {
- return [self progressManeger];
- }
- -(void)setUpViewCancelHidden:(BOOL)cancelHidden andComplete:(YBProgressBlock)complete {
- self.progressEvent = complete;
- if (!_generationView) {
- self.isExist = YES;
- _generationView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, _window_width, _window_height)];
- _generationView.backgroundColor = UIColor.blackColor;
- _generationView.alpha = 0.9f;
-
- _generateProgressView = [UIProgressView new];
- _generateProgressView.center = CGPointMake(_generationView.width / 2, _generationView.height / 2);
- _generateProgressView.bounds = CGRectMake(0, 0, 225, 20);
- _generateProgressView.progressTintColor = Pink_Cor;//UIColorFromRGB(0x0accac);
- [_generateProgressView setTrackImage:[UIImage imageNamed:@"slide_bar_small"]];
- //_generateProgressView.trackTintColor = UIColor.whiteColor;
- //_generateProgressView.transform = CGAffineTransformMakeScale(1.0, 2.0);
-
- _generationTitleLabel = [UILabel new];
- _generationTitleLabel.font = [UIFont systemFontOfSize:14];
- _generationTitleLabel.text = YZMsg(@"请稍后.");
- _generationTitleLabel.textColor = UIColor.whiteColor;
- _generationTitleLabel.textAlignment = NSTextAlignmentCenter;
- _generationTitleLabel.frame = CGRectMake(0, _generateProgressView.y - 34, _generationView.width, 14);
-
- _generateCannelBtn = [UIButton new];
- [_generateCannelBtn setImage:[UIImage imageNamed:@"cancell"] forState:UIControlStateNormal];
- _generateCannelBtn.frame = CGRectMake(_generateProgressView.right + 15, _generationTitleLabel.bottom + 10, 20, 20);
- [_generateCannelBtn addTarget:self action:@selector(onGenerateCancelBtnClicked:) forControlEvents:UIControlEventTouchUpInside];
- _generateCannelBtn.hidden = cancelHidden;
-
- [_generationView addSubview:_generationTitleLabel];
- [_generationView addSubview:_generateProgressView];
- [_generationView addSubview:_generateCannelBtn];
- [[UIApplication sharedApplication].delegate.window addSubview:_generationView];
- }
- _generateProgressView.progress = 0.f;
- [[UIApplication sharedApplication].delegate.window bringSubviewToFront:_generationView];
-
- }
- - (void)setGenerationProgress:(CGFloat)generationProgress {
- _generateProgressView.progress = generationProgress;
- _generationTitleLabel.text = [NSString stringWithFormat:@"%@(%.f%%)",YZMsg(@"请稍后."),generationProgress*100];
- }
- - (void)onGenerateCancelBtnClicked:(UIButton*)sender {
- if (self.progressEvent) {
- self.progressEvent();
- }
- }
- - (void)setGenerationHidden:(BOOL)generationHidden {
- _generationHidden = generationHidden;
- _generationView.hidden = _generationHidden;
- if (_generationHidden == NO) {
- [[UIApplication sharedApplication].delegate.window bringSubviewToFront:_generationView];
- }
- }
- -(void)progressDestroy {
- if (_generationView) {
- self.isExist = NO;
- [_generationView.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];
- [_generationView removeFromSuperview];
- _generationView = nil;
- }
- }
- @end
|