互动弹幕
弹幕展示
弹幕显示 | 弹幕发送 |
说明:
支持系统键盘和表情键盘切换。
快速接入
弹幕组件主要包提供2个API:
TUIBarrageButton
:点击后可以拉起输入界面TUIBarrageDisplayView
:用于展示弹幕消息在需要发送弹幕的场景,创建
TUIBarrageButton
,点击后可以拉起输入界面:let barrageButton: TUIBarrageButton = TUIBarrageButton(roomId: xxx)view.addSubview(barrageButton)//布局barrageButton
在需要展示弹幕的场景,使用
TUIBarrageDisplayView
来展示弹幕消息:let barrageDisplayView: TUIBarrageDisplayView = TUIBarrageDisplayView(roomId: xxx) view.addSubview(barrageDisplayView)//布局barrageDisplayView
自定义消息样式
实现
TUIBarrageDisplayView
的代理 TUIBarrageDisplayViewDelegate
中的 createCustomCell
代理函数,用于自定义弹幕消息样式。barrageDisplayView.delegate = selfextension UIViewController: TUIBarrageDisplayViewDelegate {func barrageDisplayView(_ barrageDisplayView: TUIBarrageDisplayView, createCustomCell barrage: TUIBarrage) -> UIView? {//此处返回自定义弹幕UI}}
说明:
TUIBarrageDisplayView
在展示消息时会先调用代理函数 barrageDisplayView:createCustomCell
用于获取用户对某条弹幕的自定义样式,若返回nil,则将采用 TUIBarrageDisplayView
的默认弹幕样式。插入自定义消息
弹幕展示组件
TUIBarrageDisplayView
对外提供 insertBarrages
接口方法,用于(批量)插入自定义消息,通常自定义消息配合自定义样式,实现不一样的展示效果。// 示例:在弹幕区插入一条礼物消息let barrage = TUIBarrage() barrage.content = "gift" barrage.user.userId = sender.userId barrage.user.userName = sender.userName barrage.user.avatarUrl = sender.avatarUrl barrage.user.level = sender.level barrage.extInfo["xxx"] = "xxx" barrageDisplayView.insertBarrages(barrage);
说明:
TUIBarrage
的 extInfo
是一个Map
,用于存放自定义数据。