小智 11
无论您何时检测到汽车的状态已发生变化,都可以使用MKMapView 实例方法检索注释的当前视图viewForAnnotation:.这与mapView:viewForAnnotation: 委托方法不同.
获取注释的当前视图后,您可以修改其属性,包括image.
还要确保mapView:viewForAnnotation:委托方法具有与image基于汽车注释状态设置的完全相同的条件.您可能希望将逻辑放在从两个位置调用的公共方法中(状态更改和委托方法),因此代码不会重复.
例如,在状态发生变化的情况下,您可能会:
//carAnnotation is your id<MKAnnotation> object
MKAnnotationView *av = [mapView viewForAnnotation:carAnnotation];
if (carAnnotation.isMoving)
av.image = [UIImage imageNamed:@"moving.png"];
else
av.image = [UIImage imageNamed:@"stopped.png"];
Run Code Online (Sandbox Code Playgroud)
该if声明(或你必须设置任何逻辑image)是一部分也应在viewForAnnotation委托方法.
| 归档时间: |
|
| 查看次数: |
3439 次 |
| 最近记录: |