我可以使用下面的代码(它的一部分)在两点之间创建一个很简单的线,我该如何让线条点缀而不是固体?还有可能改变不透明度越长的行?
- (MKOverlayRenderer *)mapView:(MKMapView *)mapView rendererForOverlay:(id < MKOverlay >)overlay { MKPolylineRenderer *renderer =[[MKPolylineRenderer alloc] initWithPolyline:overlay]; renderer.strokeColor = [UIColor orangeColor]; renderer.lineWidth = 3.0; return renderer; }
解决方法
您可以使用
lineDashPattern
属性创建您想要的行的模式.
MKPolylineRenderer是MKOverlayPathRenderer的子类,它具有该属性和其他一些属性(请参阅文档的链接).
例如,这将模式设置为2点长,之后是5点差距.在折线的整个长度上重复图案.
renderer.lineDashPattern = @[@2,@5];
对于不透明度,您可以将一个alpha应用于strokeColor:
renderer.strokeColor = [[UIColor orangeColor] colorWithAlphaComponent:0.5];
或设置alpha属性:
renderer.alpha = 0.5;
不确定你的意思是“线越长”是问题的一部分.