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

Типографика

Класс ChatTypography предоставляет набор предопределённых стилей шрифтов, используемых в интерфейсе чата. Все стили основаны на системном шрифте iOS и оптимизированы под удобство чтения и единый визуальный стиль.

Описание

ChatTypography — это базовый класс, предоставляющий унифицированный доступ к различным стилям текста, таким как заголовки, подзаголовки, основной текст, подписи и другие. Использует .systemFont с заданными размерами и весами для обеспечения консистентности по всему приложению.

Все стили шрифтов можно легко переопределить или расширить для поддержки кастомных шрифтов и тем.


Доступные стили шрифтов

🏷️ Заголовки

ПеременнаяРазмерВесНазначение
title17RegularОбычный заголовок
largeTitle28SemiboldКрупный заголовок (например, навигация)

📖 Подзаголовки

ПеременнаяРазмерВесНазначение
subtitle16RegularПодзаголовок

🧾 Заголовки секций

ПеременнаяРазмерВесНазначение
heading117SemiboldЗаголовок уровня 1
heading216SemiboldЗаголовок уровня 2

📄 Основной текст

ПеременнаяРазмерВесНазначение
body15RegularОсновной текст
bold15SemiboldВыделенный текст
message14RegularСообщения в чате

🔤 Подписи и мелкий текст

ПеременнаяРазмерВесНазначение
caption12MediumПодпись, метаданные
caption210RegularМелкая подпись (например, дата)

📛 Вспомогательные элементы

ПеременнаяРазмерВесНазначение
footnote13SemiboldПримечания, футноты

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

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

import ChatCenterUI

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

private var typography: ChatTypography {
let fonts = ChatTypography()
fonts.title = .systemFont(ofSize: 12, weight: .medium)
fonts.bold = .systemFont(ofSize: 15, weight: .regular)
fonts.message = .systemFont(ofSize: 15, weight: .regular)
return fonts
}
}