Известные ограничения 5.x
Эта страница описывает параметры публичного API SDK, которые в текущей версии (5.x) не применяются или применяются с ограничениями, а также устаревшие имена типов и свойства. Для параметров с ограничениями указано: что происходит вместо и в чём симптом.
Параметры, не применяемые в 5.x
В версии 5.x перечисленные ниже свойства игнорируются рантаймом — изменение их значения не влияет на отображение.
| Параметр | Что вместо | Симптом |
|---|---|---|
ChatInputTextStyle.borderColor | системный UIColor.systemGray2 | Цвет рамки поля ввода не меняется |
ChatInputTextStyle.borderWidth | фиксированное значение 0.5 | Толщина рамки поля ввода не меняется |
ChatInputQuoteStyle.titleTextStyle | messageAuthorTextStyle | Заголовок цитаты не стилизуется отдельно — используется стиль автора |
ChatInputQuoteStyle.subtitleTextStyle | messageTextStyle | Подзаголовок цитаты не стилизуется отдельно — используется стиль текста сообщения |
QuickReplyStyle.buttonHeight | автоматическое вычисление по содержимому | Высота кнопок быстрого ответа задаётся макетом ячейки |
QuickReplyStyle.insets | значения зашиты в реализацию | Отступы кнопок быстрого ответа фиксированы. Дополнительно: свойство объявлено как public let и не может быть переопределено |
SurveyChatMessageStyle.voteLikeCompleted | — | Стиль кнопки лайка после завершения опроса не применяется |
SurveyChatMessageStyle.voteCompletedColor | — | Цвет элементов завершённого опроса не применяется |
SurveyChatMessageStyle.onStarTextStyle | — | Стиль текста рядом со звёздами оценки не применяется |
SurveyChatMessageStyle.underStarTextStyle | — | Стиль подписи под звёздами оценки не применяется |
AudioPlayerStyle.recordButtonStyle | — | Стиль кнопки записи аудио не применяется |
ChatInputVoiceStyle.sendButtonStyle | ChatInputStyle.sendButtonStyle | В режиме голосового сообщения используется общий стиль кнопки отправки |
ChatImages.backButtonImage | системная иконка UIKit | Иконка системной кнопки «Назад» в UINavigationController не подменяется. Для кастомизации кнопки закрытия используйте closeButtonImage и NavigationBarStyle.closeButtonStyle |
NavigationBarStyle.backButtonColor | NavigationBarStyle.closeButtonStyle.color.normal | На единственной ветке использования значение немедленно перезаписывается цветом из closeButtonStyle.color.normal. Для цвета кнопки закрытия используйте closeButtonStyle.color.normal; цвет системной кнопки «Назад» в обычном UINavigationController этим параметром также не управляется |
ChatImages.errorAlertImage | — | Свойство объявлено, но не считывается UI-кодом в 5.x — изменение значения не влияет на отображение ошибок |
ChatImages.errorShieldImage | — | Свойство объявлено, но не считывается UI-кодом в 5.x — изменение значения не влияет на отображение ошибок типа файла |
Параметры с условиями применения
Перечисленные ниже свойства работают, но только при определённых условиях. Если ваш сценарий не соответствует условию, изменение значения не даёт эффекта.
| Параметр | Условие применения |
|---|---|
NavigationBarStyle.titleTextStyle.font | Только при NavigationBarStyle.isConfigurable = true. Цвет (titleTextStyle.color) применяется в обоих режимах |
NavigationBarStyle.subtitleTextStyle | Только при NavigationBarStyle.isConfigurable = true. В системном режиме подзаголовок не отображается |
ChatInputVoiceStyle.deleteButtonStyle | Применяются только свойства image, backgroundColor и textStyle.font. Остальные свойства (color, tintColor, cornerRadius) игнорируются |
SearchBarStyle.cancelButtonStyle | Применяется только color.normal: на iPad — как tintColor UIBarButtonItem, на iPhone — как foregroundColor текстового атрибута через UIBarButtonItem.appearance(...). Остальные свойства (color.highlighted/disabled, image, backgroundColor, textStyle, cornerRadius) игнорируются |
ChatMenuStyle.titleTextStyle | Применяется только .color, и не как цвет заголовка, а как tintColor всего UIAlertController (влияет на цвет кнопок действий). Шрифт и другие атрибуты текста не настраиваются — ограничение UIAlertController |
ChatMessagesStyles.bubbleErrorColor | Применяется только к исходящим сообщениям (от клиента). Для входящих сообщений состояние «не доставлено» не предусмотрено |
ChatNetworkConfig.HTTPConfig.connectionTimeout | Относится только к REST-запросам. Для WebSocket используется отдельный wsConfig.connectionTimeout |
ChatConfig.keepSocketActive, ChatConfig.keepSocketActiveDuringOperatorSession | По умолчанию (shouldUseRemoteConfig = true) приоритет имеет серверный конфиг канала; локальные значения используются как fallback, если сервер не прислал соответствующее поле. Чтобы гарантированно использовать только локальные настройки, установите shouldUseRemoteConfig = false |
QuickReplyStyle.color (normal/highlighted) | Применяется только в mode = .toolbar. В mode = .embed (по умолчанию) фон кнопки берётся из QuickReplyStyle.backgroundColor, а color игнорируется |
QuickReplyStyle.borderWidth | Применяется только в mode = .embed (по умолчанию). В mode = .toolbar ширина границы зашита значением 1 и не меняется |
NavigationBarStyle.closeButtonStyle | Применяются только image и color.normal (см. также backButtonColor выше). Свойства color.highlighted/disabled, backgroundColor, cornerRadius, tintColor, textStyle игнорируются. Применяется только при showCloseButton = true и когда экран чата — корневой контроллер навигации |
Устаревшие имена типов
Имена ниже сохранены как алиасы для обратной совместимости и помечены @available(*, deprecated). Используйте новые имена в правом столбце.
| Старое имя (deprecated) | Актуальное имя |
|---|---|
AudioMessageStyle | AudioChatMessageStyle |
AudioPlayerChatStyle | AudioPlayerStyle |
ButtonChatStyle | ButtonStyle |
FileMessageStyle | FileChatMessageStyle |
IconButtonChatStyle | IconButtonStyle |
ImageMessageStyle | ImageChatMessageStyle |
InputChatTextStyle | ChatInputTextStyle |
InputChatVoiceStyle | ChatInputVoiceStyle |
InputViewStyle | ChatInputStyle |
PhotoPickerStyle | ChatMenuStyle |
PlaceholderChatStyle | ChatPlaceholderStyle |
SearchBarChatStyle | SearchBarStyle |
SystemMessagesStyles | ChatSystemMessagesStyles |
TextChatStyle | ChatTextStyle |
TextMessageStyle | TextChatMessageStyle |
Устаревшие свойства
Свойства ниже остались публичными для обратной совместимости и помечены @available(*, deprecated). Xcode выдаёт warning при использовании.
| Свойство | Где находится | Замена |
|---|---|---|
ChatInputTextStyle.alignment | ChatInputTextStyle | Используйте ChatInputStyle.alignment (выравнивание задаётся на уровне ChatInputStyle, не на текстовом поле) |
ChatComponents.photoPickerStyle | ChatComponents | Используйте ChatComponents.chatMenuStyle (стиль меню выбора файлов) |
ChatFlow.photoPickerStyle | ChatFlow | Используйте ChatFlow.addFileMenuStyle (стиль меню добавления файлов) |
SurveyChatMessageStyle.questionBackgroundColor | SurveyChatMessageStyle | Используйте SurveyChatMessageStyle.questionButtonColor |
См. также список изменений для деталей по версиям.