← Cloudflare Realtime / realtime / realtimekit / ui-kit / api-reference / ios
RtkPluginsView
Составное представление для отображения плагинов и содержимого демонстрации экрана. Включает переключатель вкладок, область содержимого плагина и плавающее представление активного спикера.
Параметры инициализатора
| Параметр | Тип | Обязательный | По умолчанию | Описание |
|---|---|---|---|---|
videoPeerViewModel |
VideoPeerViewModel |
✅ | - | View model для видео активного спикера |
Свойства
| Свойство | Тип | Обязательный | По умолчанию | Описание |
|---|---|---|---|---|
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)