Skip to content

Renders MKPolyline with a fancy multicoloured gradient fill

Notifications You must be signed in to change notification settings

RunTracker/GradientPathRenderer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GradientPathRenderer

Swift5 compatible SPM compatible

Renders MKPolyline with a fancy multicoloured gradient fill similar to the Nike + Running App. A drop in replacement for MKPolylineRenderer, supports multiple colour stops and an optional border.

Installation

  1. Add GradientPathRenderer.swift to your project
  2. Inside rendererForOverlay delegate method, use GradientPathRenderer as you would an MKPolyLineRenderer
func mapView(mapView: MKMapView, rendererForOverlay overlay: MKOverlay) -> MKOverlayRenderer {
    if let overlay = overlay as? MKPolyline {
            /// define a list of colors you want in your gradient
            let gradientColors = [UIColor.green, UIColor.blue, UIColor.yellow, UIColor.red]

            /// Initialise a GradientPathRenderer with the colors
            let polylineRenderer = GradientPathRenderer(polyline: overlay, colors: gradientColors)

        	/// set a linewidth
            polylineRenderer.lineWidth = 7
            return polylineRenderer
    }
}
  1. Optionally include border and borderColor variables to render a border on the polyline
polylineRenderer.border = true
polylineRenderer.borderColor = UIColor.red /* defaults to white if not specified*/

About

Renders MKPolyline with a fancy multicoloured gradient fill

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 100.0%