Instead of using the pinColor property (deprecated) use the pinTintColor property (iOS9)
//view.pinColor = MKPinAnnotationColor.Green view.pinTintColor = UIColor.greenColor() //UIColor functions public class func blackColor() -> UIColor // 0.0 white public class func darkGrayColor() -> UIColor // 0.333 white public class func lightGrayColor() -> UIColor // 0.667 white public class func whiteColor() -> UIColor // 1.0 white public class func grayColor() -> UIColor // 0.5 white public class func redColor() -> UIColor // 1.0, 0.0, 0.0 RGB public class func greenColor() -> UIColor // 0.0, 1.0, 0.0 RGB public class func blueColor() -> UIColor // 0.0, 0.0, 1.0 RGB public class func cyanColor() -> UIColor // 0.0, 1.0, 1.0 RGB public class func yellowColor() -> UIColor // 1.0, 1.0, 0.0 RGB public class func magentaColor() -> UIColor // 1.0, 0.0, 1.0 RGB public class func orangeColor() -> UIColor // 1.0, 0.5, 0.0 RGB public class func purpleColor() -> UIColor // 0.5, 0.0, 0.5 RGB public class func brownColor() -> UIColor // 0.6, 0.4, 0.2 RGB public class func clearColor() -> UIColor // 0.0 white, 0.0 alpha
Here's the full picture:
import MapKit class MyAnnotation: MKAnnotation, NSObject { let identifier: String let title: String? let subtitle: String? let coordinate: CLLocationCoordinate2D init(identifier: String, title: String, subtitle: String, coordinate: CLLocationCoordinate2D) { self.identifier = identifier self.title = title self.subtitle = subtitle self.coordinate = coordinate super.init() } func mapItem() -> MKMapItem { let addressDictionary = [String(CNPostalAddressStreetKey): self.subtitle!] let placemark = MKPlacemark(coordinate: self.coordinate, addressDictionary: addressDictionary) let mapItem = MKMapItem(placemark: placemark) mapItem.name = self.title return mapItem } } func mapView(mapView: MKMapView, viewForAnnotation annotation: MKAnnotation) -> MKAnnotationView? { if let annotation = annotation as? MyAnnotation { let identifier = annotation.identifier var view = MKPinAnnotationView() if let dequeuedView = mapView.dequeueReusableAnnotationViewWithIdentifier(identifier) as! MKPinAnnotationView! { view = dequeuedView view.annotation = annotation } else { view = MKPinAnnotationView(annotation: annotation, reuseIdentifier: identifier) view.animatesDrop = true view.canShowCallout = true switch identifier { case "Sculpture", "Plaque": view.pinTintColor = UIColor.redColor() case "Mural", "Monument": view.pinTintColor = UIColor.purpleColor() default: view.pinTintColor = UIColor.greenColor() } } return view } return nil }
source share