Перейти к основному содержимому
Версия: 5.2.0

Компоненты

Компоненты являются основными элементами настройки дизайн системы. В случае совпадения типа компонента (внешнего вида), могут переиспользоваться на пользовательских сценариях (экранах). Например, кнопка с иконкой.

Позволяют быстро устанавливать и менять стиль оформления чата.

Пример настройки:

        // Создание компонентов дизайн системы
let components = ChatComponents()
// Переопределение параметров общих для СДК компонентов
components.navigationBarStyle.titleStyle.color = .white
components.searchBarStyle.cancelButtonStyle.tintColor = .white

// Создание темы из компонентов
let theme = ChatTheme(components: components)
примечание

В случае необходимости поменять стиль общего компонента, но только в одном месте, необходимо переопределить его в нужном пользовательском сценарии

Доступны следующие компоненты для переопределения параметров:

(в дальнейшем список будет расширяться при необходимости)

Класс стиляОписание
Базовые элементы интерфейса
NavigationBarStyleСтиль навигационной панели в чате
LoadingChatStyleОбщий стиль экрана загрузки чата
PlaceholderChatStyleСтиль пустого состояния чата (например, нет сообщений)
ErrorPlaceholderChatStyleСтиль отображения ошибки (например, не удалось загрузить чат)
LoadingIndicatorChatStyleСтиль индикатора загрузки (в сообщениях, действиях)
InputChatStyleОбщий стиль поля ввода сообщения
InputViewStyleСтиль контейнера ввода (может включать кнопки, эмодзи и т.д.)
SearchBarChatStyleСтиль поисковой строки в чате
ToastAlertStyleСтиль всплывающих уведомлений (toast)
ScrollToUnreadMessageButtonStyleКнопка прокрутки к новым сообщениям
PhotoPickerChatStyleСтиль выбора фото (галерея/камера)
ProgressViewStyleСтиль индикатора прогресса (загрузка файлов и т.п.)
FileViewerChatStyleСтиль отображения файлов (PDF, документы)
ButtonChatStyleБазовый стиль кнопки в чате
TextButtonChatStyleТекстовая кнопка (без фона)
IconButtonChatStyleКнопка с иконкой
AudioPlayerChatStyleСтиль аудиоплеера (в чате или отдельно)
Стили сообщений
ChatMessagesStylesКонтейнер стилей для всех типов пользовательских сообщений
FileMessageStyleСтиль сообщения с файлом
TextMessageStyleСтиль текстового сообщения
SearchMessageStyleСтиль выделения при поиске в сообщениях
ImageMessageStyleСтиль изображения в сообщении
AudioMessageStyleСтиль аудиосообщения
SurveyMessageStyleСтиль опроса/голосования в сообщении
QuickReplyStyleСтиль быстрых ответов
ScheduleMessageStyleСтиль сообщения с расписанием/напоминанием
OperatorJoinedMessageStyleСтиль сообщения о подключении оператора
QuoteStyleСтиль цитирования сообщений

У каждого компонента есть общие базовые параметры, например:

    /// Округление углов у элемента (если применимо к элементу, иначе игнорируется)
public var cornerRadius: CGFloat
/// Цвет фона элемента
public var backgroundColor: UIColor
/// Цвет элемента (если применимо к элементу, иначе игнорируется)
public var tintColor: UIColor

Так и уникальные для каждого компонента. Полный список можно посмотреть в документации по API

примечание

В этой версии дизайн система применялась к текущему чату, могли быть учтены не все параметры. В случае обнаружения проблем с настройкой, обратитесь в поддержку.