Ios XCode 6和Swift中的MKOverlay颜色不匹配
将MKOverlayPathRenderer.fillColor设置为UIColor会显示错误的颜色 示例: 对于RGB 0255,0应显示绿色。按预期工作:Ios XCode 6和Swift中的MKOverlay颜色不匹配,ios,xcode,swift,ios8,mapkit,Ios,Xcode,Swift,Ios8,Mapkit,将MKOverlayPathRenderer.fillColor设置为UIColor会显示错误的颜色 示例: 对于RGB 0255,0应显示绿色。按预期工作: func mapView(mapView: MKMapView!, rendererForOverlay overlay: MKOverlay!) -> MKOverlayRenderer! { if overlay is MKCircle { var circle = MKCircleRenderer(o
func mapView(mapView: MKMapView!, rendererForOverlay overlay: MKOverlay!) -> MKOverlayRenderer!
{
if overlay is MKCircle {
var circle = MKCircleRenderer(overlay: overlay)
circle.fillColor = UIColor(red: 0, green: 255, blue: 0, alpha: 0.5)
return circle
} else {
return nil
}
}
结果:
所以我现在试着设置特定的颜色,接近青色,并呈现白色
func mapView(mapView: MKMapView!, rendererForOverlay overlay: MKOverlay!) -> MKOverlayRenderer!
{
if overlay is MKCircle {
var circle = MKCircleRenderer(overlay: overlay)
circle.fillColor = UIColor(red: 43, green: 229, blue: 227, alpha: 1)
return circle
} else {
return nil
}
}
结果:
我错过了什么吗?如何获得所需的RGB值?感谢您的帮助添加此扩展以避免在需要时反复键入
/255.0
extension UIColor {
convenience init(R r: Int, G g: Int, B b:Int, A a:CGFloat) {
self.init(red: CGFloat(r)/255.0, green: CGFloat(g)/255.0, blue: CGFloat(b)/255.0, alpha: a)
}
convenience init(R r: Int, G g: Int, B b:Int) {
self.init(R: r, G: g, B: b, A: 1.0)
}
}
那你就很好了:
circle.fillColor = UIColor(R: 0, G: 255, B: 0, A: 0.5)
及
RGB值应介于0到1之间。尝试
(43.0/255.0)
而不是43
,等等。非常感谢,工作顺利
circle.fillColor = UIColor(R: 43, G: 229, B: 227)