IVBezierPathRenderer 0.1.1

IVBezierPathRenderer 0.1.1

测试已测试
Lang语言 Obj-CObjective C
授权 MIT
发布最新版本2016年6月

Ivan LiIvan Li维护。




  • 作者
  • Ivan Li

介绍

MapKit 框架为我们提供了在 MKMapView 中绘制简单路径的有用类。然而,使用 MKPolylineRenderer 绘制的线条过于平淡且无风格,更重要的是没有贝塞尔路径,这对于我的地图应用使用来说是不够的。因此,创建了 IVBezierPathRenderer 以绘制更自然的地图路径。

屏幕截图

Screenshots

示例

要运行示例项目,首先克隆仓库,然后从 Example 目录运行 pod install

安装

IVBezierPathRenderer 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中

pod "IVBezierPathRenderer"

安装后,将以下导入头文件添加到您的源代码中

@import IVBezierPathRenderer;

用法

IVBezierPathRenderer 非常易于使用。只需像往常一样创建您的 MKPolyline 和 MKPolylineRenderer,然后使用 IVBezierPathRenderer 对象替换您的 MKPolylineRenderer 对象。这就足够了。

Swift

func mapView(mapView: MKMapView, rendererForOverlay overlay: MKOverlay) -> MKOverlayRenderer {
    if let overlay = overlay as? MKPolyline{
        let renderer = IVBezierPathRenderer(overlay:overlay)
        renderer.strokeColor = UIColor.blueColor().colorWithAlphaComponent(0.5)
        renderer.lineWidth = 4
        //Optional Tension for curve, default: 4
        //renderer.tension = 2.5
        //Optional Border
        //renderer.borderColor = renderer.strokeColor
        //renderer.borderMultiplier = 1.5
        return renderer
    }
}

Objective-C

-(MKOverlayRenderer*)mapView:(MKMapView*)mapView rendererForOverlay:(id<MKOverlay>) overlay{
     if([overlay isKindOfClass:[MKPolyline class]]){
        IVBezierPathRenderer *renderer = [[IVBezierPathRenderer alloc] initWithOverlay:overlay];
        renderer.strokeColor = [[UIColor blueColor] colorWithAlphaComponent:0.5f];
        renderer.lineWidth = 4;
        //Optional Tension for curve, default: 4
        //renderer.tension = 2.5;
        //Optional Border
        //renderer.borderColor = renderer.strokeColor;
        //renderer.borderMultiplier = 1.5;
        return renderer;
     }
 }

作者

Ivan Li, [email protected]

参考

授权

IVBezierPathRenderer 在 MIT 授权下提供。有关更多信息,请参阅 LICENSE 文件。