|
@@ -0,0 +1,188 @@
|
|
|
+//
|
|
|
+// downloadFileBottomView.m
|
|
|
+// 隐私保护
|
|
|
+//
|
|
|
+// Created by xd h on 2024/1/8.
|
|
|
+//
|
|
|
+
|
|
|
+#import "downloadFileBottomView.h"
|
|
|
+#import <sys/mount.h>
|
|
|
+#include <sys/param.h>
|
|
|
+
|
|
|
+@interface downloadFileBottomView ()
|
|
|
+@property(nonatomic,strong)UILabel *selectNumLabel;
|
|
|
+@property(nonatomic,strong)UILabel *uploadFileRoutelabel;
|
|
|
+@property(nonatomic,strong)UIButton *uploadButon;
|
|
|
+@end
|
|
|
+
|
|
|
+@implementation downloadFileBottomView
|
|
|
+
|
|
|
+- (id)initWithFrame:(CGRect)frame{
|
|
|
+ self = [super initWithFrame:frame];
|
|
|
+ [self setBackgroundColor:[UIColor whiteColor]];
|
|
|
+ [self drawAnyView];
|
|
|
+
|
|
|
+ _availableStorage = [self freeDiskSpaceInBytes];
|
|
|
+ return self;
|
|
|
+}
|
|
|
+
|
|
|
+- (NSString *)freeDiskSpaceInBytes{
|
|
|
+ struct statfs buf;
|
|
|
+ unsigned long long freeSpace = -1;
|
|
|
+ if (statfs("/var", &buf) >= 0) {
|
|
|
+ freeSpace = (unsigned long long)(buf.f_bsize * buf.f_bavail);
|
|
|
+ }
|
|
|
+ NSString *str = [NSString stringWithFormat:@"%0.2f GB",freeSpace/1024.0/1024.0/1024.0];
|
|
|
+ return str;
|
|
|
+}
|
|
|
+
|
|
|
+- (void)drawAnyView{
|
|
|
+ _selectNumLabel = [[UILabel alloc] init];
|
|
|
+ _selectNumLabel.font = [UIFont boldSystemFontOfSize:16.0];
|
|
|
+ [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];
|
|
|
+ _uploadFileRoutelabel.text = NSLocalizedString(@"File_download_Path_default",nil);
|
|
|
+ [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_download",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:@"donwload_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
|
|
|
+{
|
|
|
+
|
|
|
+ _indexPathsForSelectedItems = indexPathsForSelectedItems;
|
|
|
+ if(!_indexPathsForSelectedItems){
|
|
|
+ _indexPathsForSelectedItems = [NSMutableArray new];
|
|
|
+ }
|
|
|
+
|
|
|
+ //TZAssetModel imageData (以字节为单位)
|
|
|
+ NSUInteger allImageData = 0;
|
|
|
+
|
|
|
+ for (couldPhoneFileModel* model in _indexPathsForSelectedItems) {
|
|
|
+
|
|
|
+ allImageData += model.length;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ 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);
|
|
|
+ [noteStr addAttribute:NSForegroundColorAttributeName value:[UIColor hwColor:@"#959799" alpha:1.0] 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){
|
|
|
+ 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(_didClickDownloadFile)
|
|
|
+ {
|
|
|
+ _didClickDownloadFile();
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+@end
|
|
|
+
|