// // uploadFileBottomView.m // 隐私保护 // // Created by xd h on 2023/11/10. // #import "uploadFileBottomView.h" #import "TZAssetModel+imageData.h" @interface uploadFileBottomView () @property(nonatomic,strong)UILabel *selectNumLabel; @property(nonatomic,strong)UILabel *uploadFileRoutelabel; @property(nonatomic,strong)UIButton *uploadButon; @end @implementation uploadFileBottomView - (id)initWithFrame:(CGRect)frame{ self = [super initWithFrame:frame]; [self setBackgroundColor:[UIColor whiteColor]]; [self drawAnyView]; return self; } - (void)drawAnyView{ _selectNumLabel = [[UILabel alloc] init]; _selectNumLabel.font = [UIFont boldSystemFontOfSize:16.0]; _selectNumLabel.textColor = [UIColor blackColor]; [self addSubview:_selectNumLabel]; [_selectNumLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(15); make.top.mas_equalTo(10); make.right.mas_equalTo(-110); make.height.mas_equalTo(20); }]; //设置即得标题 self.indexPathsForSelectedItems = [NSMutableArray new]; _uploadFileRoutelabel = [[UILabel alloc] init]; _uploadFileRoutelabel.font = [UIFont systemFontOfSize:14.0]; _uploadFileRoutelabel.textColor = [UIColor hwColor:@"#959799" alpha:1.0]; NSString *savePath = [HWDataManager getStringWithKey:Const_photo_upload_default_path]; if(!savePath||savePath.length == 0){ savePath = Const_default_upload_path; } NSString *uploadDefaultPath = savePath; if([uploadDefaultPath containsString:@"mnt/media_rw"]){ uploadDefaultPath = [uploadDefaultPath stringByReplacingOccurrencesOfString:@"mnt/media_rw" withString:NSLocalizedString(@"disk_Extra_default_tip",nil)]; } else if([uploadDefaultPath containsString:@"storage/emulated/0"]){ uploadDefaultPath = [uploadDefaultPath stringByReplacingOccurrencesOfString:@"storage/emulated/0" withString:NSLocalizedString(@"disk_phone_default_tip",nil)]; } else if([uploadDefaultPath containsString:@"sdcard"]){ uploadDefaultPath = [uploadDefaultPath stringByReplacingOccurrencesOfString:@"sdcard" withString:NSLocalizedString(@"disk_phone_default_tip",nil)]; } _uploadFileRoutelabel.text = [[NSString alloc] initWithFormat:@"%@: %@",NSLocalizedString(@"File_upload_path_tip",nil),uploadDefaultPath]; [self addSubview:_uploadFileRoutelabel]; [_uploadFileRoutelabel mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(15); make.top.mas_equalTo(_selectNumLabel.mas_bottom).offset(10); make.right.mas_equalTo(-110); make.height.mas_equalTo(20); }]; //图片上传 NSString* curImgUploadStr = [[NSString alloc] initWithFormat:@"%@ %@",@" ",NSLocalizedString(@"my_set_no_File_upload",nil)]; // gradient CAGradientLayer *gl_But = [CAGradientLayer layer]; gl_But.frame = CGRectMake(0,0,88.f,40.f); gl_But.startPoint = CGPointMake(0, 0.5); gl_But.endPoint = CGPointMake(1, 0.5); gl_But.colors = @[(__bridge id)HW0CDEFDColor.CGColor, (__bridge id)HW058DFBColor.CGColor]; gl_But.locations = @[@(0), @(1.0f)]; gl_But.cornerRadius = 8; UIButton *imageUploadBut = [[UIButton alloc] init]; [imageUploadBut setImage:[UIImage imageNamed:@"upload_file_white_100"] forState:UIControlStateNormal]; [imageUploadBut setTitle:curImgUploadStr forState:UIControlStateNormal]; [imageUploadBut setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; imageUploadBut.titleLabel.font = [UIFont boldSystemFontOfSize:13.0]; imageUploadBut.tag = 2; [imageUploadBut addTarget:self action:@selector(didClickButFun:) forControlEvents:UIControlEventTouchUpInside]; [self addSubview:imageUploadBut]; [imageUploadBut.layer insertSublayer:gl_But atIndex:0]; [imageUploadBut bringSubviewToFront:imageUploadBut.imageView]; self.uploadButon = imageUploadBut; //imageUploadBut.backgroundColor = [UIColor redColor]; [imageUploadBut mas_makeConstraints:^(MASConstraintMaker *make) { make.right.mas_equalTo(-15); make.top.mas_equalTo(10); make.width.mas_equalTo(88); make.height.mas_equalTo(40); }]; imageUploadBut.enabled = NO; imageUploadBut.alpha = 0.5; } #pragma mark 数据处理 - (void)setIndexPathsForSelectedItems:(NSMutableArray *)indexPathsForSelectedItems { BOOL isCanUpload = YES; _indexPathsForSelectedItems = indexPathsForSelectedItems; if(!_indexPathsForSelectedItems){ _indexPathsForSelectedItems = [NSMutableArray new]; } //TZAssetModel imageData (以字节为单位) NSUInteger allImageData = 0; for (TZAssetModel* model in _indexPathsForSelectedItems) { // if(model.type == TZAssetModelMediaTypeVideo){ // allImageData += [model.videoData length]; // } // else{ // allImageData += [model.imageData length]; // } allImageData += model.totalBytes; } if(allImageData > self.available && self.available > 1024){ isCanUpload = NO; } allImageData /= 1024; NSString *byteStr = nil; NSString *unitStr = @"KB"; if(allImageData < 1024){ byteStr = [[NSString alloc] initWithFormat:@"%ld",allImageData]; } else if( allImageData >= 1024 && allImageData < 1024*1024){ byteStr = [[NSString alloc] initWithFormat:@"%.1f",allImageData/1024.0]; unitStr = @"MB"; } else{ byteStr = [[NSString alloc] initWithFormat:@"%.2f",allImageData/1024.0/1024.0]; unitStr = @"G"; } if(!_availableStorage){ _availableStorage = @"--"; } NSString *curStr1 = [NSString stringWithFormat:@"已选%ld项",_indexPathsForSelectedItems.count]; NSString *curStr2 = [NSString stringWithFormat:@"(%@%@,%@)",byteStr,unitStr,_availableStorage]; NSString *totalStr = [[NSString alloc] initWithFormat:@"%@ %@",curStr1,curStr2]; NSMutableAttributedString *noteStr = [[NSMutableAttributedString alloc] initWithString:totalStr]; NSRange redRange = NSMakeRange([totalStr rangeOfString:curStr2].location, [totalStr rangeOfString:curStr2].length); UIColor *noteColor =[UIColor hwColor:@"#959799" alpha:1.0]; if(!isCanUpload){ noteColor = [UIColor redColor]; } [noteStr addAttribute:NSForegroundColorAttributeName value:noteColor range:redRange]; [noteStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:14.0] range:redRange]; // 设置行间距 NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init]; [paragraphStyle setLineSpacing:5]; //设置行间距 [noteStr addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [totalStr length])]; _selectNumLabel.attributedText = noteStr; if(_indexPathsForSelectedItems.count > 0 && isCanUpload){ self.uploadButon.enabled = YES; self.uploadButon.alpha = 1; } else { self.uploadButon.enabled = NO; self.uploadButon.alpha = 0.5; } } #pragma mark 按钮点击 - (void)didClickButFun:(UIButton*)but { if(_didClickUploadFile) { _didClickUploadFile(); } } @end