June 5, 2024Creating gradient on polylines in SwiftUI MapKit
When using MapKit and SwiftUI, Xcode will autocomplete to suggest you use linearGradient(_:startPoint:endPoint:options:) to style a MapPolyline. The linearGradient()
method requires you to provide a start and end point in the screen space. However, most of the time, if you are reaching for a gradient, you want it to follow the line along the map.
By passing a Gradient directly to the stroke() modifier, you can avoid needing to provide a screen space startPoint
and endPoint
, allowing the gradient to follow the line on the map.
MapPolyline(
coordinates: coordinates
)
.stroke(
Gradient(colors: [.red, .indigo])
)
This approach simplifies the implementation and creates a more visually appealing effect.
Deepen your understanding of SwiftUI!$35
The essential guide to SwiftUI core concepts and APIs
SwiftUI Fundamentalsby Natalia Panferova
- Explore the key APIs and design patterns that form the foundation of SwiftUI
- Develop a deep, practical understanding of how SwiftUI works under the hood
- Learn from a former Apple engineer who worked on widely used SwiftUI APIs
Deepen your understanding of SwiftUI!
The essential guide to SwiftUI core concepts and APIs
SwiftUI Fundamentals
by Natalia Panferova
$35If you are enjoying our blog and would like to support us, you can sponsor us on GitHub.
Subscribe to our monthly newsletter to get exclusive Swift and SwiftUI tips, project updates, behind-the-scenes insights, and special discounts on our books.
For more frequent updates, follow us on X and Bluesky.