INTEGRITY Документация

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)