TGViewer
iOS Dev iOS Dev @iosdev · 7.93K subscribers
Post #1299 4.22K
Как iOS 18 улучшает работу с градиентами

Очень часто в проектах разработчики используют дополнительный градиент, чтобы создать контраст между фоном и текстом.
*Или используют заранее заготовленный ассет в каталоге ресурсов.

Однако при таком использовании линейного градиента будут видны перепады яркости и резкий переход.

📖 В iOS 18 доступно новое API для смешивания цветов. Поэтому, используя UnitCurve, можно интерполировать цвета с помощью встроенных или кастомных кривых Безье, чтобы обеспечить плавность перехода.

Пример использования под катом (разверните, чтобы посмотреть):
extension Gradient {
init(from: Color, to:Color, with curve:UnitCurve, steps:Int = 10) {
let colors = stride(from: 0.0, through: 1.0, by: 1.0 / Double(steps))
.map { f in
from.mix(with: to, by: curve.value(at: f))
}
self.init(colors: colors)
}
}


📖 Почитать дополнительно про смешивание цветов можно в этой статье.

😃 iOS Dev • больше разборов тут
  • 👍 5
  • 🔥 4
  • ❤‍🔥 2
  • ☃ 1
  • 👏 1
  • 💯 1
  • 🏆 1
  • 🤗 1
  • 🎄 1
More from @iosdev
  1. Oct 12, 2026Тестирование асинхронного кода в Swift Работа с таким кодом и так может оказаться непросто…
  2. Oct 9, 2026Эффект премиальной банковской карты с помощью SwiftUI и Metal Такая красота часто встречае…
  3. Oct 9, 2026Итеративная загрузка данных в Swift Хотя одновременное выполнение десятков асинхронных зап…
  4. Oct 8, 2026Мультиагентность: следующий шаг в разработке или лишняя сложность? AI-агенты уже умеют пис…
  5. Oct 8, 2026Продвинутые техники работы с макросами в Swift Владение макросами позволяет автоматизирова…
  6. Oct 7, 2026Работа с модальными экранами на iPhone Duo На iPhone Duo всплывающие окна могут выглядеть…
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 →