保利威文档中心

幫助中心

5_4-手机开播场景-文档管理

更新時間:2023-04-17 15:27:57

1 功能概述

文件管理模組包含選擇文件、檢視選中文件詳情、上傳文件、刪除文件等功能。文件管理頁面是一個彈層,整個介面被封裝在 PLVLSDocumentSheet 中。

2 使用演示

PLVLSDocumentSheet 是一個彈層頁面,繼承於基底類別 PLVLSBottomSheet,使用文件管理彈層只需建立彈層物件,並呼叫 -showInView: 方法即可顯示彈層。

self.docSheet = [[PLVLSDocumentSheet alloc] init];
self.docSheet.delegate = self;
[self.docSheet showInView:self.superview];

彈出文件管理彈層的頁面需遵循協定 PLVLSDocumentSheetDelegate,並實作以下代理方法,PPT 與白板頁面需在代理方法中,切換到新的文件或文件頁面,或切換到白板:

@protocol PLVLSDocumentSheetDelegate <NSObject>

///  选择文档、文档页回调
/// @param documentSheet 文档弹层对象
/// @param autoId 选择的文档autoId
/// @param pageIndex 选择的文档页序号(页码)
- (void)documentSheet:(PLVLSDocumentSheet *)documentSheet didSelectAutoId:(NSInteger)autoId pageIndex:(NSInteger)pageIndex;

@end

3 實作介紹

文件管理彈層 PLVLSDocumentSheet 由以下元件組成:

@property (nonatomic, strong) UIScrollView *scrollView ;            // 文档父层View
@property (nonatomic, strong) PLVLSDocumentListView *docListView;   // 文档列表视图
@property (nonatomic, strong) PLVLSDocumentPagesView *docPagesView; // 文档页面列表视图

scrollView 是一個橫向翻頁的滾動視圖,第一頁是文件列表視圖 docListView,選中具體某個文件之後,滾動視圖會滾動到第二頁,展示選中文件的頁面詳情列表視圖 docPagesView

3.1 PLVLSDocumentListView

文件列表視圖類別 PLVLSDocumentListView 在內部已封裝了文件管理的業務邏輯,外部使用只需要初始化一個 PLVLSDocumentListView 的實例物件,並遵循協定 PLVLSDocumentListViewDelegate,實作相關回呼即可。

self.docListView = [[PLVLSDocumentListView alloc] init];
self.docListView.delegate = self;
[self.scrollView addSubview:self.docListView];
self.docListView.frame = self.scrollView.bounds;

協定 PLVLSDocumentListViewDelegate 的回呼方法定義如下:

@protocol PLVLSDocumentListViewDelegate <NSObject>

///  点击上传文档按钮回调
///
/// @param documentListView 文档列表对象
- (void)documentListViewUploadDocument:(PLVLSDocumentListView *)documentListView;

///  文档上传须知按钮响应回调
///
/// @param documentListView 文档列表对象
- (void)documentListViewShowTip:(PLVLSDocumentListView *)documentListView;

///  选择文档回调
///
/// @param documentListView 文档列表对象
/// @param model 选择的文档数据对象
/// @param isChangeDocument YES 切换文档,NO 没有切换只是单纯的二次点击
- (void)documentListView:(PLVLSDocumentListView *)documentListView didSelectItemModel:(PLVLSDocumentModel *)model changeDocument:(BOOL)isChangeDocument;

@end

3.2 PLVLSDocumentPagesView

文件頁面列表視圖由於只有在選中了某個文件進行展示時,才會出現,所以採用需要時初始化,取消文件選中就回收的方式:

// 选中某个文档时
if (!self.docPagesView) {
    self.docPagesView = [[PLVLSDocumentPagesView alloc] init];
    self.docPagesView.delegate = self;
}

// 返回文档列表时
[self.docPagesView removeFromSuperview];
self.docPagesView = nil;

docPagesView 所需的資料,由文件管理彈層 docSheet 所持有,只有在需要展示文件頁面詳情時,才賦值給 docPagesView

self.docPagesView.title = self.pagesTitle; // 文档标题
[self.docPagesView setPagesViewDatas:self.imageUrls]; //  设置文档页面缩略图
[self.docPagesView setSelectPageIndex:self.selectPageId]; // 选中文档页面

同時,遵循協定 PLVLSDocumentPagesViewDelegate,實作以下方法:

@protocol PLVLSDocumentPagesViewDelegate <NSObject>

///  点击返回按钮响应回调
///
/// @param documentPagesView 文档列表页面对象
- (void)documentPagesViewDidBackAction:(PLVLSDocumentPagesView *)documentPagesView;

///  选中文档页面回调
///
/// @param documentPagesView 文档列表页面对象
/// @param index 选择的文档页面序号
- (void)documentPagesView:(PLVLSDocumentPagesView *)documentPagesView didSelectItemAtIndex:(NSInteger)index;

@end
联系客服,在线咨询