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

Изображения

Класс ChatImages предоставляет набор предопределённых изображений и иконок, используемых в интерфейсе чата. Поддерживает как SF Symbols, так и кастомные изображения из бандла приложения.

к сведению

Для упрощения настройки и уменьшения размера SDK, в качестве иконок по-умолчанию используются SF Symbols

Описание

ChatImages — это базовый класс, предоставляющий унифицированный доступ к различным иконкам и изображениям приложения. Все изображения реализованы через класс ChatImage, который поддерживает:

  • SF Symbols с возможностью указания размера и цвета
  • Кастомные изображения из ресурсов SDK
  • Унифицированное управление цветом заливки (tintColor)

Этот подход обеспечивает консистентность UI и упрощает темизацию.


Доступные изображения

🔍 Поиск

ПеременнаяТипНазначение
searchBarImageSF SymbolИконка поиска
searchNotFoundPlaceholderImageSF SymbolИзображение для "ничего не найдено"

⬅️➡️ Навигация

ПеременнаяТипНазначение
backButtonImageSF SymbolИконка кнопки "Назад"
nextButtonImageSF SymbolИконка кнопки "Вперёд"
keyboardShowImageSF SymbolПоказ клавиатуры
keyboardHideImageSF SymbolСкрытие клавиатуры

✉️ Отправка сообщений

ПеременнаяТипНазначение
sendButtonImageSF SymbolОтправить сообщение
attachButtonImageSF SymbolПрикрепить файл

📭 Плейсхолдеры

ПеременнаяТипНазначение
emptyChatPlaceholderImageSF SymbolЧат пустой
errorChatPlaceholderImageSF SymbolОшибка загрузки чата

👍👎 Реакции

ПеременнаяТипНазначение
likeEmptyImageSF SymbolНеактивный лайк
likeFullImageSF SymbolАктивный лайк
dislikeEmptyImageSF SymbolНеактивный дизлайк
dislikeFullImageSF SymbolАктивный дизлайк

⭐ Рейтинг

ПеременнаяТипНазначение
starRatingEmptyImageSF SymbolНеактивная звезда
starRatingFullImageSF SymbolАктивная звезда

📎 Файлы и медиа

ПеременнаяТипНазначение
fileImageSF SymbolФайл
messageBubbleFilledMaskImageКастомноеЗаполненный пузырь сообщения
messageBubbleStrokedMaskImageКастомноеОбведённый пузырь сообщения

🔺🔻 Прокрутка

ПеременнаяТипНазначение
scrollToTopImageSF SymbolПрокрутка наверх
scrollToBottomImageSF SymbolПрокрутка вниз

👤 Аватары

ПеременнаяТипНазначение
avatarPlaceholderImageSF SymbolПлейсхолдер аватара

❌ Меню и действия

ПеременнаяТипНазначение
closeButtonImageSF SymbolЗакрыть
menuCopyImageSF SymbolСкопировать
menuQuoteImageSF SymbolЦитировать

🗣️ Голосовые сообщения

ПеременнаяТипНазначение
voiceButtonImageSF SymbolЗапись голосового
voiceSendButtonImageSF SymbolОтправка голосового
voicePlayImageSF SymbolВоспроизведение
voicePauseImageSF SymbolПауза

✅ Статусы сообщений

ПеременнаяТипНазначение
sentStatusImageКастомноеСообщение отправлено
pendingStatusImageSF SymbolСообщение в процессе
readStatusImageКастомноеСообщение прочитано

⚠️ Предупреждения

ПеременнаяТипНазначение
alertImageSF SymbolПредупреждение
shieldImageSF SymbolЗащита
editImageSF SymbolРедактировать

Класс ChatImage

Класс ChatImage представляет собой унифицированную обёртку над UIImage, поддерживающую:

  • SF Symbols
  • Кастомные изображения
  • Настройку цвета (tintColor)
  • Управление размером

Конструкторы

/// Кастомное изображение
init(named: String, tintColor: UIColor? = nil)

/// SF Symbol
init(system name: String, tintColor: UIColor? = nil)

/// SF Symbol с указанием размера
init(system name: String, size: CGFloat = 14, tintColor: UIColor? = nil)

Пример использования

Актуальный пример можно найти в демо приложении в MainViewController+Themes

import ChatCenterUI

/// Настройки тем оформления
extension MainViewController {
func makeDarkTheme() -> ChatTheme {
return ChatTheme(images: darkImages)
}

private var darkImages: ChatImages {
let images = ChatImages()
images.avatarPlaceholderImage = ChatImage(system: "person.circle.fill", tintColor: UIColor.white)
return images
}
}