Bläddra i källkod

1.录音编辑以及删除功能

huangxiaodong 2 månader sedan
förälder
incheckning
96137ddfb5

+ 22 - 0
创维盒子/code/Assets.xcassets/Set/edit_upload_icon.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "edit_upload_icon@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "edit_upload_icon@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
创维盒子/code/Assets.xcassets/Set/edit_upload_icon.imageset/edit_upload_icon@2x.png


BIN
创维盒子/code/Assets.xcassets/Set/edit_upload_icon.imageset/edit_upload_icon@3x.png


+ 2 - 0
创维盒子/code/mine/model/recordFileModel.h

@@ -18,6 +18,8 @@ NS_ASSUME_NONNULL_BEGIN
 @property (nonatomic, assign) NSInteger totalTime;// 录音时长
 
 @property (nonatomic, assign) BOOL showAllType;// 是否展示全部内容
+@property (nonatomic, assign) BOOL isSelectType;//是否选中
+@property (nonatomic, assign) BOOL isEditType;//是否编辑状态
 @end
 
 NS_ASSUME_NONNULL_END

+ 227 - 1
创维盒子/code/mine/recordViewController.m

@@ -13,8 +13,16 @@
 #import "recordFileCell.h"
 #import "reNameRecordFileView.h"
 #import "ComontAlretViewController.h"
+#import "editTypeHeadView.h"
+#import "recordEditBottomView.h"
 
 @interface recordViewController ()<UITableViewDelegate,UITableViewDataSource,DZNEmptyDataSetSource, DZNEmptyDataSetDelegate>
+@property (nonatomic, strong) UIButton *rightButton;//编辑
+@property(nonatomic,strong) editTypeHeadView*curEditTypeHeadView;
+@property(nonatomic,strong) recordEditBottomView*curEditTypeBottomView;
+@property(nonatomic,strong) NSMutableArray* didSelectListArr;
+@property(nonatomic,assign) BOOL isEditType;
+
 @property (nonatomic, strong) UITableView *tableView;
 @property(nonatomic,strong)NSMutableArray *audioArr;//音频数据
 @property(nonatomic,strong)recordBottomView *recordBottomV;//底部视图
@@ -29,6 +37,7 @@
     // Do any additional setup after loading the view.
     
     _audioArr = [NSMutableArray new];
+    _didSelectListArr = [NSMutableArray new];
     [self drawAnyView];
     [self getRecordDataFun];
 }
@@ -40,7 +49,71 @@
     [self.navigationBar setHidden:YES];
     [self.toolBar setHidden:YES];
     [self.titleLabel setText:NSLocalizedString(@"mine_record_title",nil)];
+    
+    self.navBarBGView.backgroundColor = [UIColor whiteColor];
+    //编辑
+    _rightButton = [[UIButton alloc] init];
+    [_rightButton setTitle:NSLocalizedString(@"edit_common",nil)  forState:UIControlStateNormal];
+    [_rightButton setTitleColor:[UIColor hwColor:@"#01B7EA"] forState:UIControlStateNormal];
+    _rightButton.titleLabel.font = [UIFont systemFontOfSize:14.0];
+    _rightButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentRight;
+    [_rightButton addTarget:self action:@selector(didClickEditFun) forControlEvents:UIControlEventTouchUpInside];
+    [self.navBarBGView addSubview:_rightButton];
+    
+    [_rightButton mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.right.mas_equalTo(-15.f);
+        make.width.mas_equalTo(40.f);
+        make.centerY.equalTo(self.titleLabel.mas_centerY).offset(0.0);
+        make.height.mas_equalTo(30);
+    }];
+    
         
+    _curEditTypeHeadView = [[editTypeHeadView alloc] init];
+    _curEditTypeHeadView.hidden = YES;
+    [self.navBarBGView addSubview:_curEditTypeHeadView];
+    
+    [_curEditTypeHeadView mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.left.mas_equalTo(0);
+        make.right.mas_equalTo(0);
+        make.bottom.mas_equalTo(0);
+        make.height.mas_equalTo(NAVIHEIGHT - AdaptNaviHeight);
+    }];
+    
+#pragma mark 编辑状态的 取消 和全选按钮 响应事件
+    KWeakSelf
+    _curEditTypeHeadView.didClickButtonFun = ^(NSInteger tag) {
+        if(tag==1){
+            [weakSelf userCancelEditTypeFun];
+        }
+    };
+    
+    _curEditTypeHeadView.didClickSelectAllFun = ^(UIButton * _Nonnull but) {
+        [weakSelf didClickSelectAllButton:but];
+    };
+    
+    
+    _curEditTypeBottomView = [[recordEditBottomView alloc] init];
+    _curEditTypeBottomView.hidden = YES;
+    [self.view addSubview:_curEditTypeBottomView];
+    
+    [_curEditTypeBottomView mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.left.mas_equalTo(0);
+        make.right.mas_equalTo(0);
+        make.bottom.mas_equalTo(0);
+        make.height.mas_equalTo(60 + AdaptTabHeight);
+    }];
+    
+#pragma mark 编辑状态的 下载  删除 响应事件
+    _curEditTypeBottomView.didClickButtonFun = ^(NSInteger tag) {
+        if(tag==1){
+            //[weakSelf gotoDownLoadFileFun];
+        }
+        else if(tag==3){
+            [weakSelf showDeleteAlearViewFun];
+        }
+    };
+    
+    
     //底部视图
     _recordBottomV = [[recordBottomView alloc] init];
     [self.view addSubview:_recordBottomV];
@@ -51,7 +124,7 @@
         make.height.mas_equalTo(100.f + AdaptTabHeight);
     }];
     
-    KWeakSelf
+    //KWeakSelf
     _recordBottomV.didClickRecordFun = ^{
         [weakSelf didClickRecordFun];
     };
@@ -139,6 +212,10 @@
             [weakSelf didClickCellFunBy:index withRow:row];
         };
         
+        cell.didClickSwitch = ^(BOOL SwitchOn) {
+            [weakSelf userCheckFilePreviewByRow:row];
+        };
+        
     }
     return cell;
 }
@@ -169,6 +246,10 @@
 
 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
 {
+    if (_isEditType) {
+        return;
+    }
+    
     NSInteger row = indexPath.section;
     if(row < _audioArr.count){
         recordFileModel *model = _audioArr[row];
@@ -484,6 +565,12 @@
     }
 }
 
+#pragma mark 文件删除弹框
+- (void)showDeleteAlearViewFun
+{
+    [self deleteFileByRow:-1];
+}
+
 #pragma mark 文件删除
 - (void)deleteFileByRow:(NSInteger)row
 {
@@ -510,6 +597,11 @@
 #pragma mark 文件删除
 - (void)sureDeleteFileByRow:(NSInteger)row
 {
+    if (row == -1) {//删除编辑状态选中的旋转
+        [self deleteSelectFileFun];
+        return;
+    }
+    
     recordFileModel *model = nil;
     if (_audioArr.count > row) {
         model = _audioArr[row];
@@ -540,4 +632,138 @@
     }
     
 }
+
+#pragma mark 删除编辑状态选中的旋转
+- (void)deleteSelectFileFun
+{
+    NSFileManager *fileManager = [NSFileManager defaultManager];
+    
+    for (recordFileModel*delModel in _didSelectListArr) {
+        NSString *filePath = delModel.filePath; // 获取要删除的文件路径
+
+        NSError *error = nil;
+        BOOL success = [fileManager removeItemAtPath:filePath error:&error];
+
+        if (!success) {
+            //NSLog(@"删除文件失败: %@", error.localizedDescription);
+            //[[iToast makeText:NSLocalizedString(@"record_deleteFile_fail",nil)] show];
+        } else {
+            //NSLog(@"文件删除成功");
+            //[[iToast makeText:NSLocalizedString(@"delete_file_suc_msg",nil)] show];
+            
+            [_audioArr removeObject:delModel];
+        }
+    }
+    
+//    recordFileModel *firstModel = _audioArr.firstObject;
+//    firstModel.showAllType = YES;
+    [_tableView reloadData];
+    [[iToast makeText:NSLocalizedString(@"delete_file_suc_msg",nil)] show];
+    
+    [_didSelectListArr removeAllObjects];
+    [self setEditTypeTitleFun];
+}
+
+#pragma mark 点击了编辑按钮
+- (void)didClickEditFun
+{
+    _isEditType = YES;
+    
+    _curEditTypeHeadView.hidden = NO;
+    _curEditTypeBottomView.hidden = NO;
+    _recordBottomV.hidden = YES;
+    
+    for (recordFileModel*model in _audioArr) {
+        model.showAllType = NO;
+        model.isEditType = YES;
+    }
+    
+    [self.tableView mas_remakeConstraints:^(MASConstraintMaker *make) {
+        make.left.mas_equalTo(0);
+        make.right.mas_equalTo(0);
+        make.bottom.mas_equalTo(_curEditTypeBottomView.mas_top);
+        make.top.equalTo(self.navBarBGView.mas_bottom).offset(10.f);
+    }];
+    
+    [self.tableView  reloadData];
+}
+
+
+#pragma mark 用户取消编辑编辑
+- (void)userCancelEditTypeFun
+{
+    //数据还原
+    for (recordFileModel*model in _didSelectListArr) {
+        model.isSelectType = NO;
+    }
+    [_didSelectListArr removeAllObjects];
+    
+    for (recordFileModel*model in _audioArr) {
+        model.isEditType = NO;
+    }
+    
+    recordFileModel*firstModel = _audioArr.firstObject;
+    firstModel.showAllType = YES;
+    
+    _isEditType = NO;
+    [self.tableView  reloadData];
+    
+    _curEditTypeHeadView.hidden = YES;
+    _curEditTypeBottomView.hidden = YES;
+    _recordBottomV.hidden = NO;
+    
+    [self.tableView mas_remakeConstraints:^(MASConstraintMaker *make) {
+        make.left.mas_equalTo(0);
+        make.right.mas_equalTo(0);
+        make.bottom.equalTo(self.recordBottomV.mas_top).offset(0.f);
+        make.top.equalTo(self.navBarBGView.mas_bottom).offset(10.f);;
+    }];
+}
+
+- (void)didClickSelectAllButton:(UIButton*)button
+{
+    //button.selected = !button.selected;
+    
+    [_didSelectListArr removeAllObjects];
+    
+    for (recordFileModel* dataModel in _audioArr) {
+        
+        if(!button.selected){
+            dataModel.isSelectType = button.selected;
+        }
+        else{
+            [_didSelectListArr addObject:dataModel];
+            dataModel.isSelectType = button.selected;
+        }
+    }
+    
+    [self.tableView reloadData];
+    [self setEditTypeTitleFun];
+}
+
+- (void)userCheckFilePreviewByRow:(NSInteger)row
+{
+    if(row < _audioArr.count){
+        recordFileModel* dataModel = _audioArr[row];
+        
+        if(dataModel.isSelectType){
+            [_didSelectListArr removeObject:dataModel];
+        }
+        else{
+            [_didSelectListArr addObject:dataModel];
+        }
+        
+        dataModel.isSelectType = !dataModel.isSelectType;
+    
+        [self setEditTypeTitleFun];
+    }
+}
+
+
+#pragma mark 设置选中标题
+- (void)setEditTypeTitleFun
+{
+    [_curEditTypeHeadView setTitleLabetextByNumbers:_didSelectListArr.count];
+}
+
 @end

+ 17 - 0
创维盒子/code/mine/view/recordEditBottomView.h

@@ -0,0 +1,17 @@
+//
+//  recordEditBottomView.h
+//  双子星云手机
+//
+//  Created by xd h on 2025/4/8.
+//
+
+#import <UIKit/UIKit.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface recordEditBottomView : UIView
+@property (nonatomic,copy) void (^didClickButtonFun)(NSInteger tag);
+- (void)setButtonStateFunBy:(BOOL)canClick;
+@end
+
+NS_ASSUME_NONNULL_END

+ 181 - 0
创维盒子/code/mine/view/recordEditBottomView.m

@@ -0,0 +1,181 @@
+//
+//  recordEditBottomView.m
+//  双子星云手机
+//
+//  Created by xd h on 2025/4/8.
+//
+
+#import "recordEditBottomView.h"
+
+@interface recordEditBottomView ()
+@property(nonatomic,strong) UIButton*leftButton;
+@property(nonatomic,strong) UIImageView*leftImageV;
+@property(nonatomic,strong) UILabel *leftLabel;
+
+@property(nonatomic,strong) UIButton*rightButton;
+@property(nonatomic,strong) UIImageView*rightImageV;
+@property(nonatomic,strong) UILabel *rightLabel;
+
+//@property(nonatomic,strong) UIButton*midButton;
+//@property(nonatomic,strong) UIImageView*midImageV;
+//@property(nonatomic,strong) UILabel *midLabel;
+@end
+
+@implementation recordEditBottomView
+
+- (id)initWithFrame:(CGRect)frame{
+    self = [super initWithFrame:frame];
+    self.backgroundColor = [UIColor whiteColor];
+    [self drawAnyView];
+    return self;
+}
+
+- (void)drawAnyView{
+    
+    CGFloat curButFullWidth = SCREEN_W/2.0;
+    
+    _leftButton = [[UIButton alloc] init];
+    [_leftButton addTarget:self action:@selector(didClickButFun:) forControlEvents:UIControlEventTouchUpInside];
+    _leftButton.tag = 1;
+    [self addSubview:_leftButton];
+    
+    [_leftButton mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.width.mas_equalTo(curButFullWidth);
+        make.left.mas_equalTo(0);
+        make.height.mas_equalTo(60);
+        make.top.mas_equalTo(0);
+    }];
+    
+    _leftImageV = [[UIImageView alloc] init];
+    _leftImageV.image = [UIImage imageNamed:@"edit_upload_icon"];
+    [_leftButton addSubview:_leftImageV];
+    
+    [_leftImageV mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.width.mas_equalTo(25);
+        make.height.mas_equalTo(25);
+        make.centerX.equalTo(_leftButton.mas_centerX);
+        make.centerY.equalTo(_leftButton.mas_centerY).offset(-10);
+    }];
+    
+    _leftLabel = [[UILabel alloc] init];
+    _leftLabel.textColor = [UIColor hwColor:@"#0A132B"];
+    _leftLabel.textAlignment = NSTextAlignmentCenter;
+    _leftLabel.font = [UIFont systemFontOfSize:12.0];
+    _leftLabel.text = NSLocalizedString(@"my_set_no_File_upload",nil);
+    [_leftButton addSubview:_leftLabel];
+    
+    [_leftLabel mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.width.mas_equalTo(curButFullWidth);
+        make.height.mas_equalTo(25);
+        make.centerX.equalTo(_leftButton.mas_centerX);
+        make.centerY.equalTo(_leftButton.mas_centerY).offset(10);
+    }];
+    
+//    _midButton = [[UIButton alloc] init];
+//    [_midButton addTarget:self action:@selector(didClickButFun:) forControlEvents:UIControlEventTouchUpInside];
+//    _midButton.tag = 2;
+//    [self addSubview:_midButton];
+//    
+//    [_midButton mas_makeConstraints:^(MASConstraintMaker *make) {
+//        make.width.mas_equalTo(curButFullWidth);
+//        make.left.mas_equalTo(curButFullWidth);
+//        make.height.mas_equalTo(60);
+//        make.top.mas_equalTo(0);
+//    }];
+//    
+//    _midImageV = [[UIImageView alloc] init];
+//    _midImageV.image = [UIImage imageNamed:@"edit_share_icon"];
+//    [_midButton addSubview:_midImageV];
+//    
+//    [_midImageV mas_makeConstraints:^(MASConstraintMaker *make) {
+//        make.width.mas_equalTo(25);
+//        make.height.mas_equalTo(25);
+//        make.centerX.equalTo(_midButton.mas_centerX);
+//        make.centerY.equalTo(_midButton.mas_centerY).offset(-10);
+//    }];
+//    
+//    _midLabel = [[UILabel alloc] init];
+//    _midLabel.textColor = [UIColor hwColor:@"#0A132B"];
+//    _midLabel.textAlignment = NSTextAlignmentCenter;
+//    _midLabel.font = [UIFont systemFontOfSize:12.0];
+//    _midLabel.text = NSLocalizedString(@"common_edit_share",nil);
+//    [_midButton addSubview:_midLabel];
+//    
+//    [_midLabel mas_makeConstraints:^(MASConstraintMaker *make) {
+//        make.width.mas_equalTo(curButFullWidth);
+//        make.height.mas_equalTo(25);
+//        make.centerX.equalTo(_midButton.mas_centerX);
+//        make.centerY.equalTo(_midButton.mas_centerY).offset(10);
+//    }];
+    
+    
+    _rightButton = [[UIButton alloc] init];
+    [_rightButton addTarget:self action:@selector(didClickButFun:) forControlEvents:UIControlEventTouchUpInside];
+    _rightButton.tag = 3;
+    [self addSubview:_rightButton];
+    
+    [_rightButton mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.width.mas_equalTo(curButFullWidth);
+        make.right.mas_equalTo(0);
+        make.height.mas_equalTo(60);
+        make.top.mas_equalTo(0);
+    }];
+    
+    _rightImageV = [[UIImageView alloc] init];
+    _rightImageV.image = [UIImage imageNamed:@"edit_del_icon"];
+    [_rightButton addSubview:_rightImageV];
+    
+    [_rightImageV mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.width.mas_equalTo(25);
+        make.height.mas_equalTo(25);
+        make.centerX.equalTo(_rightButton.mas_centerX);
+        make.centerY.equalTo(_rightButton.mas_centerY).offset(-10);
+    }];
+    
+    _rightLabel = [[UILabel alloc] init];
+    _rightLabel.textColor = [UIColor hwColor:@"#0A132B"];
+    _rightLabel.textAlignment = NSTextAlignmentCenter;
+    _rightLabel.font = [UIFont systemFontOfSize:12.0];
+    _rightLabel.text = NSLocalizedString(@"File_upload_Record_delete",nil);
+    [_rightButton addSubview:_rightLabel];
+    
+    [_rightLabel mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.width.mas_equalTo(curButFullWidth);
+        make.height.mas_equalTo(25);
+        make.centerX.equalTo(_rightButton.mas_centerX);
+        make.centerY.equalTo(_rightButton.mas_centerY).offset(10);
+    }];
+//
+}
+
+- (void)didClickButFun:(UIButton*)but
+{
+    NSInteger tag = but.tag;
+    
+    if(tag == 1){
+        //1.4.3 新需求 有传输任务超过200个时 不给上传
+        if([nasDownloadFileManager shareInstance].downLoadFileModelDataArr.count >= 200){
+            [[iToast makeText:NSLocalizedString(@"download_task_not_done_tip",nil)] show];
+            return;
+        }
+    }
+    
+    if(_didClickButtonFun){
+        _didClickButtonFun(tag);
+    }
+}
+
+
+- (void)setButtonStateFunBy:(BOOL)canClick
+{
+    CGFloat alpha = canClick ? 1.0 : 0.5;
+    _leftButton.enabled = canClick;
+    _rightButton.enabled = canClick;
+    //_midButton.enabled = canClick;
+    
+    _leftButton.alpha = alpha;
+    _rightButton.alpha = alpha;
+    ///_midButton.alpha = alpha;
+}
+
+@end

+ 2 - 0
创维盒子/code/mine/view/recordFileCell.h

@@ -15,6 +15,8 @@ NS_ASSUME_NONNULL_BEGIN
 
 //index  1 编辑 2 删除  10 播放 11 后退 12 前进
 @property (nonatomic,copy) void (^didClickRecordButFun)(NSInteger index);
+
+@property (nonatomic,copy) void (^didClickSwitch)(BOOL SwitchOn);
 @end
 
 NS_ASSUME_NONNULL_END

+ 66 - 0
创维盒子/code/mine/view/recordFileCell.m

@@ -12,6 +12,7 @@
 @property(nonatomic,strong)UILabel *nameLabel;//名称
 @property(nonatomic,strong)UILabel *dataLabel;//日期
 @property(nonatomic,strong)UILabel *timeAndSizeLabel;//时长和大小
+@property(nonatomic, strong) UIButton *checkButton;
 
 @property(nonatomic,strong)UIView *cellBg2View;//
 @property(nonatomic,strong)UIView *progressBgView;//进度被拒
@@ -31,6 +32,7 @@
 
 @implementation recordFileCell
 @synthesize cellBgView;
+@synthesize checkButton;
 
 - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
 {
@@ -58,6 +60,22 @@
         make.width.mas_equalTo(SCREEN_W - 2*15.f);
     }];
     
+    checkButton = [[UIButton alloc] init];
+    [checkButton setImage:[UIImage imageNamed:@"upload_file_uncheck"] forState:UIControlStateNormal];
+    [checkButton setImage:[UIImage imageNamed:@"upload_file_check"] forState:UIControlStateSelected];
+    [cellBgView addSubview:checkButton];
+    checkButton.hidden = YES;
+    
+    [checkButton mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.left.mas_equalTo(5.f);
+        make.centerY.equalTo(cellBgView.mas_centerY);
+        make.width.mas_equalTo(36.f);
+        make.height.mas_equalTo(36.f);
+    }];
+    
+    [checkButton addTarget:self action:@selector(maskSwitchPressed:) forControlEvents:(UIControlEventTouchUpInside)];
+    
+    
     /**标题*/
     _nameLabel = [[UILabel alloc] init];
     [cellBgView addSubview:_nameLabel];
@@ -295,5 +313,53 @@
     
     _progressingLabel.text  = @"00:00:00";
     _totaltimeLabel.text = totalTimeStr;
+    
+    if(curRecordFileModel.isEditType){
+        checkButton.hidden = NO;
+        
+        checkButton.selected = curRecordFileModel.isSelectType;
+        
+        [_nameLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
+            make.left.equalTo(checkButton.mas_right).offset(10);
+            make.top.mas_equalTo(10.0);
+            make.height.mas_equalTo(20.0);
+            //make.top.mas_equalTo(15.f);
+        }];
+        
+        //日期
+        [_dataLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
+            make.left.equalTo(checkButton.mas_right).offset(10);
+            make.top.equalTo(_nameLabel.mas_bottom).offset(5);
+            make.height.mas_equalTo(20.0);
+            //make.top.mas_equalTo(15.f);
+        }];
+    }
+    else{
+        checkButton.hidden = YES;
+        
+        [_nameLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
+            make.left.mas_equalTo(12.0);
+            make.top.mas_equalTo(10.0);
+            make.height.mas_equalTo(20.0);
+            //make.top.mas_equalTo(15.f);
+        }];
+        
+        //日期
+        [_dataLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
+            make.left.mas_equalTo(12.0);
+            make.top.equalTo(_nameLabel.mas_bottom).offset(5);
+            make.height.mas_equalTo(20.0);
+            //make.top.mas_equalTo(15.f);
+        }];
+    }
+}
+
+
+- (void)maskSwitchPressed:(UIButton *)maskSwitch{
+
+    maskSwitch.selected = !maskSwitch.selected;
+    if(_didClickSwitch){
+        _didClickSwitch(maskSwitch.selected);
+    }
 }
 @end

+ 12 - 0
创维盒子/双子星云手机.xcodeproj/project.pbxproj

@@ -417,6 +417,10 @@
 		6B34DC6D2BF2070D002DD1EF /* titleLabelReusableView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B34DC6A2BF2070D002DD1EF /* titleLabelReusableView.h */; };
 		6B34DC6E2BF2070D002DD1EF /* titleLabelReusableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B34DC6B2BF2070D002DD1EF /* titleLabelReusableView.m */; };
 		6B34DC6F2BF2070D002DD1EF /* titleLabelReusableView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B34DC6A2BF2070D002DD1EF /* titleLabelReusableView.h */; };
+		6B34E7922DA50A850008DCB1 /* recordEditBottomView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B34E7902DA50A850008DCB1 /* recordEditBottomView.h */; };
+		6B34E7932DA50A850008DCB1 /* recordEditBottomView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B34E7912DA50A850008DCB1 /* recordEditBottomView.m */; };
+		6B34E7942DA50A850008DCB1 /* recordEditBottomView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B34E7912DA50A850008DCB1 /* recordEditBottomView.m */; };
+		6B34E7952DA50A850008DCB1 /* recordEditBottomView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B34E7902DA50A850008DCB1 /* recordEditBottomView.h */; };
 		6B3941CF2C50A7CA00C8FB28 /* queryShareReportMarkModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B3941CE2C50A7CA00C8FB28 /* queryShareReportMarkModel.m */; };
 		6B3941D02C50A7CA00C8FB28 /* queryShareReportMarkModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B3941CD2C50A7CA00C8FB28 /* queryShareReportMarkModel.h */; };
 		6B3941D12C50A7CA00C8FB28 /* queryShareReportMarkModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B3941CD2C50A7CA00C8FB28 /* queryShareReportMarkModel.h */; };
@@ -1778,6 +1782,8 @@
 		6B34DC652BF1FFB1002DD1EF /* imageCollectionViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = imageCollectionViewCell.m; sourceTree = "<group>"; };
 		6B34DC6A2BF2070D002DD1EF /* titleLabelReusableView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = titleLabelReusableView.h; sourceTree = "<group>"; };
 		6B34DC6B2BF2070D002DD1EF /* titleLabelReusableView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = titleLabelReusableView.m; sourceTree = "<group>"; };
+		6B34E7902DA50A850008DCB1 /* recordEditBottomView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = recordEditBottomView.h; sourceTree = "<group>"; };
+		6B34E7912DA50A850008DCB1 /* recordEditBottomView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = recordEditBottomView.m; sourceTree = "<group>"; };
 		6B3941CD2C50A7CA00C8FB28 /* queryShareReportMarkModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = queryShareReportMarkModel.h; sourceTree = "<group>"; };
 		6B3941CE2C50A7CA00C8FB28 /* queryShareReportMarkModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = queryShareReportMarkModel.m; sourceTree = "<group>"; };
 		6B39586D2C34FA25003FC6C3 /* NasPreviewVideoViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NasPreviewVideoViewController.h; sourceTree = "<group>"; };
@@ -3339,6 +3345,8 @@
 				6B2A3BD02D9A6E000058A551 /* recordFileCell.m */,
 				6BCB92F62DA3EDC500F3084E /* reNameRecordFileView.h */,
 				6BCB92F72DA3EDC500F3084E /* reNameRecordFileView.m */,
+				6B34E7902DA50A850008DCB1 /* recordEditBottomView.h */,
+				6B34E7912DA50A850008DCB1 /* recordEditBottomView.m */,
 			);
 			path = view;
 			sourceTree = "<group>";
@@ -4022,6 +4030,7 @@
 				6BB573342C8076F000713351 /* nasBackupsManager.h in Headers */,
 				181E85002A8F6B1800292B96 /* LogoSelectView.h in Headers */,
 				6B3E7A822C89CC1300B032C4 /* webRtcManager.h in Headers */,
+				6B34E7922DA50A850008DCB1 /* recordEditBottomView.h in Headers */,
 				6B8A5AE02C3BCC0E00E40B19 /* lastFileModel.h in Headers */,
 				6B5B60762B3E665E009A2AE2 /* filePathCreatPopView.h in Headers */,
 				18BA24872AA5C57900BA01EE /* RSATool.h in Headers */,
@@ -4312,6 +4321,7 @@
 				6BB573362C8076F500713351 /* nasBackupsManager.h in Headers */,
 				6BD506AC2B9576A4006E7CB0 /* LogoSelectView.h in Headers */,
 				6B3E7A842C89CC1300B032C4 /* webRtcManager.h in Headers */,
+				6B34E7952DA50A850008DCB1 /* recordEditBottomView.h in Headers */,
 				6B8A5AE32C3BCC0E00E40B19 /* lastFileModel.h in Headers */,
 				6BD506AD2B9576A4006E7CB0 /* filePathCreatPopView.h in Headers */,
 				6BD506AE2B9576A4006E7CB0 /* RSATool.h in Headers */,
@@ -4831,6 +4841,7 @@
 				6BA08F0B2C0187DD00A2242D /* boxDownloadFileRecordCell.m in Sources */,
 				6B51CE7E2D96715500301429 /* recordBottomView.m in Sources */,
 				6B2C1E2F2C070ADE00FDCF82 /* ZFLoadingView.m in Sources */,
+				6B34E7942DA50A850008DCB1 /* recordEditBottomView.m in Sources */,
 				6BD5071D2B9576A4006E7CB0 /* diskListBgView.m in Sources */,
 				6BD5071E2B9576A4006E7CB0 /* iTools.m in Sources */,
 				6BD5071F2B9576A4006E7CB0 /* SetPWDSecondViewController.m in Sources */,
@@ -5203,6 +5214,7 @@
 				6BA08F092C0187DD00A2242D /* boxDownloadFileRecordCell.m in Sources */,
 				6B51CE7D2D96715500301429 /* recordBottomView.m in Sources */,
 				6B2C1E2E2C070ADE00FDCF82 /* ZFLoadingView.m in Sources */,
+				6B34E7932DA50A850008DCB1 /* recordEditBottomView.m in Sources */,
 				6B45C50D2B5FA80E007E6911 /* diskListBgView.m in Sources */,
 				A003F6D127D8425C00715CBF /* iTools.m in Sources */,
 				18EC79DD2ABC109F0084836A /* SetPWDSecondViewController.m in Sources */,