TGViewer
Мобильный трудоголик Мобильный трудоголик @hardworkerit · 1.64K subscribers
Post #334 1.09K
🔢 UIKit встречает Liquid Glass: как адаптировать гибридное приложение к iOS 26.

С выходом iOS 26 и нового дизайна Liquid Glass многие команды столкнулись с неочевидными вызовами. Особенно сложная ситуация складывается у проектов с гибридной архитектурой, где UIKit и SwiftUI соседствуют годами. Адаптация - это не просто замена цветов и добавление размытий. Это переосмысление навигации, модальностей и даже базовых компонентов интерфейса. На примере приложения Grow, получившего признание редакции App Store в 173 странах, разберем, какие решения работают на практике, а какие оказываются тупиковыми.


Двойная стратегия - совместимость и прогрессивность:


Первое и главное правило успешной адаптации - сохранение работоспособности для пользователей старых версий iOS. В Grow выбрали стратегию условной компиляции и проверки доступности API через #available(iOS 26.0, *). Это позволяет:

🔵Оставлять проверенные интерфейсы для iOS 18 и ниже.

🔵Предлагать новый визуальный опыт пользователям iOS 26.

🔵Постепенно мигрировать компоненты не поломав существующую логику.


Навигация - от кастомных решений к нативным компонентам:

Исторически сложилось, что многие проекты заменяли UINavigationBar кастомными view для сложных UI-элементов. Liquid Glass требует обратного подхода - возврата к нативным компонентам. В Grow провели рефакторинг:

🔵Заменили кастомные панели навигации на UINavigationController.

🔵Настроили navigationItem для размещения элементов управления.

🔵Использовали Auto Layout для правильного позиционирования scroll-контейнеров.

Ключевой момент: нативные компоненты лучше адаптируются к системным эффектам морфинга и анимациям Liquid Glass.


Модальные представления:

Адаптация UISheetPresentationController оказалась одной из самых простых задач. Для активации эффектов Liquid Glass достаточно:

🔵Убрать кастомные фоновые view.

🔵Использовать системные API для управления размытием краев.

🔵Настраивать ToolbarItem для контроля Scroll Edge Effect.

Более интересной задачей стала реализация морфинг-меню в формате popover. Вместо чисто SwiftUI-решений команда выбрала гибридный подход через UIPopoverPresentationController:

🔵SwiftUI-view упаковывается в UIHostingController.

🔵Контроллер привязывается к UIBarButtonItem через popoverPresentationController?.sourceItem.

🔵Делегат UIPopoverPresentationControllerDelegate решает проблемы приоритета жестов и предварительной настройки контента.


Расширение возможностей - стеклянный текст:

Один из наиболее креативных аспектов адаптации - создание кастомных стеклянных эффектов. Используя Core Text, можно преобразовывать глифы шрифтов в CGPath, а затем применять к ним эффект glassEffect(_:in:). Это открывает возможности для:

🔵Текстовых элементов с эффектом жидкого стекла.

🔵Произвольных форм, выходящих за рамки геометрических примитивов.

🔵Динамических эффектов, зависящих от контента.


🔗 Ссылка на подробную статью


💡 Вывод:

Адаптация Liquid Glass в гибридных проектах - это баланс между нативными возможностями системы и существующей архитектурой. Самое важное - понимать, что Liquid Glass это не просто визуальное обновление, а изменение философии взаимодействия. Успешная адаптация требует не только технических изменений, но и пересмотра подходов к проектированию интерфейсов, где системные компоненты и анимации становятся частью пользовательского опыта, а не его украшением.


➡️ Подписаться на канал
Мобильный трудоголик
  • 👍 17
  • 🔥 3
  • ❤ 1
  • 🙏 1
More from @hardworkerit
  1. Oct 2, 2026👣 Архитекторы, тестировщики и кодеры. Создаем мультиагентную команду Разработка с ИИ-аген…
  2. Oct 1, 2026🔢 Работа с Picture-in-Picture в iOS. Picture-in-Picture - системная функция iOS, которая…
  3. Sep 29, 2026🔢 Управление тулбарами на iPhone Duo. На iPhone Duo элементы управления навигацией, дейст…
  4. Sep 27, 2026🔢 Новые возможности Hashable в Swift 6.4 В Swift 6.4 добавили Hashable для нескольких тип…
  5. Sep 25, 2026🔢 Приватные свойства больше не ломают memberwise инициализатор в Swift 6.4 Swift автомати…
  6. Sep 24, 2026👨‍💻 Почему разработчики ненавидят своих менеджеров. Всем привет! Сегодня хочу разобрать…
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 →