跳转到内容
搜索文档

RtkPluginsView

最后更新 查看 MarkdownAgent 设置

用于显示插件和屏幕共享内容的复合视图。 包含选项卡选择器、插件内容区域和浮动活跃演讲者视图。

初始化参数

参数 类型 必填 默认值 描述
videoPeerViewModel VideoPeerViewModel - 活跃演讲者视频的视图模型

属性

属性 类型 必填 默认值 描述
activeListView RtkActiveTabSelectorView - - 用于在插件和屏幕共享之间切换的选项卡选择器
pluginVideoView UIView - - 插件内容的容器视图
syncButton UIButton - - 与演示者同步插件视图的按钮

方法

方法 返回类型 描述
setButtons(buttons:selectedIndex:clickAction:) Void 配置带选择处理器的选项卡选择器按钮
show(pluginView:) Void 在内容区域中显示插件视图
showVideoView(participant:) Void 在内容区域中显示参与者视频
showPinnedView(participant:) Void 显示已固定参与者的视频
showActiveSpeakerView(participant:) Void 显示浮动活跃演讲者叠加层
hideActiveSpeaker() Void 隐藏浮动活跃演讲者叠加层

使用示例

基本用法

import RealtimeKitUI

let viewModel = VideoPeerViewModel(
    meeting: rtkClient,
    participant: participant,
    showSelfPreviewVideo: false
)
let pluginsView = RtkPluginsView(videoPeerViewModel: viewModel)
view.addSubview(pluginsView)

带选项卡按钮

import RealtimeKitUI

let viewModel = VideoPeerViewModel(
    meeting: rtkClient,
    participant: participant,
    showSelfPreviewVideo: false
)
let pluginsView = RtkPluginsView(videoPeerViewModel: viewModel)

let buttons = [
    RtkPluginScreenShareTabButton(image: nil, title: "Screen Share"),
    RtkPluginScreenShareTabButton(image: nil, title: "Whiteboard")
]
pluginsView.setButtons(
    buttons: buttons,
    selectedIndex: 0,
    clickAction: { index in
        print("Selected tab: \(index)")
    }
)
view.addSubview(pluginsView)

这篇文档对您有帮助吗?