互动白板
  • 平台类型
  • 框架 / 引擎
  • iOS
  • Android
  • macOS
  • Windows
  • Linux
  • Web
  • 小程序

互动白板 API

更新时间:2020-10-24 00:45

1 ZegoWhiteboardViewConstants

1.1 工具类型

枚举名 备注
ZegoWhiteboardViewToolPen 1 画笔
ZegoWhiteboardViewToolText 2 文本
ZegoWhiteboardViewToolLine 4 直线
ZegoWhiteboardViewToolRect 8 空心矩形
ZegoWhiteboardViewToolEllipse 16 空心椭圆
ZegoWhiteboardViewToolSelector 32 选择工具
ZegoWhiteboardViewToolEraser 64 橡皮擦

2 ZegoWhiteboardViewModel Class

白板视图对应的 model 类

2.1 Properties

// 白板所在的房间 ID
NSString * roomID
// 白板的唯一标识符
unsigned long long whiteboardID
// 白板名,限制长度为 128 字节
NSString * name
// 白板内容宽、高,在不同端的不同尺寸 View 上保持宽高比一致
NSUInteger aspectWidth

NSUInteger aspectHeight
// 白板漫游位置,用百分比描述
CGFloat horizontalScrollRatio
CGFloat verticalScrollRatio
// 页码,sdk不做任何处理,由调用方处理
NSUInteger pageCount
// 动态PPT步骤步数
NSUInteger pptStep
// 与白板关联的转码后的文件信息,通常白板是透明的,覆盖在文件内容之上,变成标注层
ZegoFileInfoModel* fileInfo

3 ZegoFileInfoModel Class

一个白板关联的文件内容,其中 fileID 就是即构文件服务(ZegoDocs)中相应字段,可在 ZegoDocs 加载并渲染文件内容。

3.1 Properties

// 文件 ID,是即构文件服务(ZegoDocs)中相应字段,可在 ZegoDocsView SDK 中 loadFile 加载并渲染文件内容。
NSString *fileID
// 文件名
NSString *fileName
// 文件共享鉴权,在 ZegoDocsView SDK 中 loadFile 时用到
NSString *authKey
// 文件类型,参考 ZegoDocsView SDK 定义的文件类型
NSUInteger fileType

3.2 Functions

// 初始化方法
- (instancetype)initWithJson:(NSDictionary *)json;

4 ZegoWhiteboardViewManager Class

单例类,是 ZegoWhiteboardView 的服务入口。

4.1 Delegate

//错误回调
- (void)onError:(ZegoWhiteboardViewError)error
   whiboardView:(ZegoWhiteboardView *)whiboardView;
//错误回调
- (void)onError:(ZegoWhiteboardViewError)errorCode DEPRECATED_MSG_ATTRIBUTE("Please use [onError:whiboardView:]");
// 收到远端触发的白板新增回调 
- (void)onWhiteboardAdd:(ZegoWhiteboardView *)whiteboardView; 
// 收到远端触发的白板移除回调
- (void)onWhiteboardRemoved:(ZegoWhiteboardID)whiteboardID;

4.2 Block

// 白板交互错误回调
// @param errorCode: 见错误码
typedef void(^ZegoWhiteboardBlock)(int errorCode);
// 创建白板回调
// @param errorCode: 见错误码
// @param whiteboardView: 白板视图
typedef void(^ZegoCreateWhiteboardBlock)(int errorCode, ZegoWhiteboardView *whiteboardView); 
// 销毁白板回调
// @param errorCode: 见错误码
// @param whiteboardID: 销毁的白板 ID
typedef void(^ZegoDestroyWhiteboardBlock)(int errorCode, ZegoWhiteboardID whiteboardID); 
// 获取白板列表回调
// @param errorCode: 见错误码
// @param whiteboardViewList: 白板
typedef void(^ZegoGetWhiteboardListBlock)(int errorCode,  NSArray *whiteBoardViewList);

4.3 Properties

// 正在使用的白板工具(教具)
ZegoWhiteboardViewToolType toolType;
// 画笔颜色
UIColor brushColor;
// 画笔粗细
NSUInteger brushSize;
// 文本大小
NSUInteger fontSize;
// 粗体字
BOOL isFontBold;
// 斜体字
BOOL isFontItalic;

4.4 Functions

// 初始化 SDK。
// @param completeBlock: 初始化白板结果回调
- (void)initWithCompleteBlock:(ZegoWhiteboardBlock)completeBlock;
/// 设置配置项
/// @param config 配置类
- (void)setConfig:(ZegoWhiteboardConfig *)config;
// 反初始化 SDK。
- (void)uninit;
// 获取当前 SDK 字符串版本号。
// @return SDK 字符串版本号
- (NSString *)getVersion;
// 退出房间时调用,清理房间相关资源
- (void)clear;
// 根据 whiteboardViewModel 创建白板。
// @param whiteboardViewModel: 指定创建白板的具体参数,其中 ID 在创建完成后得到
// @param completeBlock: 创建白板的结果回调
- (void)createWhiteboardView:(ZegoWhiteboardViewModel *)whiteboardViewModel
                       completeBlock:(ZegoCreateWhiteboardBlock)completeBlock;
// 指定白板 ID 销毁白板
// @param whiteboardID: 指定要销毁的白板,ID 在创建完成后得到
// @param completeBlock: 销毁白板的结果回调
- (void)destroyWhiteboardID:(ZegoWhiteboardID)whiteboardID
                      completeBlock:(ZegoDestroyWhiteboardBlock)completeBlock;
// 拉取房间内的白板列表
// @param completeBlock: 拉取列表的结果回调
- (void)getWhiteboardListWithCompleteBlock:(ZegoGetWhiteboardListBlock)completeBlock; 

5 ZegoWhiteboardView Class

白板的视图类,集成该视图将获得白板互动的能力。

5.1 Delegate

/// 收到缩放变化的通知

// @param scaleFactor 缩放比例
// @param scaleOffsetX 缩放偏移量X
// @param scaleOffsetY 缩放偏移量Y
// @param whiteboardView 白板
- (void)onScaleChangedWithScaleFactor:(CGFloat )scaleFactor
                         scaleOffsetX:(CGFloat)scaleOffsetX
                         scaleOffsetY:(CGFloat)scaleOffsetY
                       whiteboardView:(ZegoWhiteboardView *)whiteboardView;
/// 滚动的通知,这里可以用来同步文档滚动,翻到指定步骤等同步操作。

// @param horizontalPercent 水平偏移量百分比
// @param verticalPercent 竖直偏移量百分比
// @param whiteboardView 白板
- (void)onScrollWithHorizontalPercent:(CGFloat)horizontalPercent
                      verticalPercent:(CGFloat)verticalPercent whiteboardView:(ZegoWhiteboardView *)whiteboardView;

5.2 Properties

// 当前视图对象关联的 model

ZegoWhiteboardViewModel* whiteboardModel;
// 是否可绘制

BOOL canDraw;
// 是否可缩放

BOOL canZoom;
// 缩放比例

CGFloat scaleFactor;
// 缩放偏移量X

CGFloat scaleOffsetX;
// 缩放偏移量Y

CGFloat scaleOffsetY;
// 内容偏移量

CGPoint contentOffset;
// 内容大小

CGSize contentSize;

5.2 Functions

// 初始化白板 View
// @param whiteboardViewModel: 与白板视图关联的 viewModel
- (instancetype)initWithWhiteboardViewModel:(ZegoWhiteboardViewModel *)whiteboardModel;
// 漫游到指定的偏移,用百分比描述
- (void)scrollToHorizontalPercent:(CGFloat)horizontalPercent
                          verticalPercent:(CGFloat)verticalPercent;
// 漫游到指定的偏移,用百分比描述,同步动态PPT
- (void)scrollToHorizontalPercent:(CGFloat)horizontalPercent
                  verticalPercent:(CGFloat)verticalPercent
                          pptStep:(NSInteger)pptStep
                  completionBlock:(ZegoWhiteboardScrollBlock)block;
// 撤销最近一次操作
- (void)undo;
// 恢复最近的一次撤销操作
- (void)redo;
// 清空整个白板
- (void)clear;
// 添加文本
- (void)addTextEdit;

5 ZegoWhiteboardConfig Class

白板配置类,设置ZegoWhiteboardView配置,当前仅用来设置日志保存路径,请将路径设置为与ZegoExpressEngine的日志路径一致,方能正确上传

5.1 Properties

/// 日志保存路径
@property (copy, nonatomic) NSString *logPath;