TGViewer
easy_dev991 easy_dev991 @easy_dev991 · 617 subscribers
Post #254 512
#ios #swift #swiftui #uikit

Все еще верстаете на ките и пользуетесь таблицами/коллекциями для создания списков? При этом хочется использовать в этих экранах SwiftUI?
Не беда! В iOS 16 добавили нативную интеграцию SUI в ячейках с помощью contentConfiguration.

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

Алгоритм работы с этой штукой:

1️⃣ Верстаем вьюху для ячейки на SUI
2️⃣ В самой ячейке делаем проверку на iOS 16, и если версия подходит, то добавляем вьюху как показано в документации, можно обращаться напрямую к свойству contentConfiguration внутри ячейки
3️⃣ Если версия iOS < 16, то либо не показываем обновленный UI (😁), либо используем костыли с UIHostingController

Важный момент: если просто добавить SUI-вьюху в ячейку и не настроить отступы для конфигурации, то будут добавлены дефолтные отступы по горизонтали и вертикали.
Чтобы такой фигни не было, нужно вручную поверх конфигурации добавить отступы через метод margins.

Пример настройки contentConfiguration с нужными отступами:

func setup(with viewModel: DemoCollectionCellViewModel) {
if #available(iOS 16.0, *) {
contentConfiguration = UIHostingConfiguration {
SwiftUIView(viewModel: viewModel)
}.margins(.horizontal, 12) // <- вот тут задали отступы по горизонтали
} else {
setupOld(with: viewModel)
}
}


Весь код для демо-ячейки можно посмотреть в гитхабе.
Apple Developer Documentation UIHostingConfiguration | Apple Developer Documentation A content configuration suitable for hosting a hierarchy of SwiftUI views.
  • ❤ 3
  • 🔥 2
More from @easy_dev991
  1. Oct 15, 2026#android #agent #openspec Если завтра все нейросети сломаются, мне будет не важно, потому…
  2. Oct 4, 2026#agent #opencode #question Чтобы ваш кастомный агент мог задавать вопросы как на скриншоте…
  3. Oct 3, 2026#ios #swift #swiftui #animation Чиним дрейф лоадера в SwiftUI
  4. Oct 1, 2026#agent #skill https://teletype.in/@easy_dev991/Vdp8kJPuWEg
  5. Sep 26, 2026#android #test #agent Делаю приложение-дневник тренировок для андроида, и агент пишет/гоня…
  6. Sep 21, 2026#agent #mcp #firebase Собирал сегодня данные по крашам из firebase, чтобы потом спланирова…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →