我向视图控制器添加了一个MKMapView,将showsUserLocation设置为YES:
MKMapView *mapView =[[MKMapView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT/2)];
mapView.delegate=self;
[mapView setZoomEnabled:YES];
[mapView setScrollEnabled:YES];
mapView.showsUserLocation = YES;
[self.view addSubview:mapView];
并实施了协议:
- (MKAnnotationView *)mapView:(MKMapView *)aMapView viewForAnnotation:(id <MKAnnotation>)annotation{
MyAnnotation * myannotation=(MyAnnotation * )annotation;
if(annotation != aMapView.userLocation)
{
// create a customized MKAnnotationView and return it. blabla
return annView;
}
else
{
[aMapView.userLocation setTitle:NSLocalizedString(@"i_am_here",nil)];
}
return nil;
}
它在白色圆圈内显示灰色圆点。当用户位置更新时,灰色部分是动画。我期望的是一个蓝点,就像Apple的iOS Map应用程序中的那个,我不想为userLocation自定义视图(动画...)
是否有任何简单的设置可以将点颜色从灰色更改为蓝色?
我在iPhone 5c,7.1.1上进行测试; Xcode 5.1.1
在iOS 5和6之前,代码应该可以正常运行。
答案 0 :(得分:8)
看看你的地图视图tintcolor。
例如,如果self.mapview.tintColor = [UIColor grayColor];
点颜色为灰色,请将其设置为蓝色并返回蓝色。
答案 1 :(得分:0)
您可以使用:
mapView.tintColor = .red