互动弹幕

弹幕展示




弹幕显示



弹幕发送
说明:
支持系统键盘表情键盘切换。

快速接入

弹幕组件主要包提供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 = self
extension 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);
说明:
TUIBarrageextInfo 是一个Map,用于存放自定义数据。