我将一个完美运行的 6.1 应用程序升级到 Xcode 5/ios 7,它使用 MKMapKit 在地图视图上显示一些图钉。
现在注释引脚不显示。我确保我的 mapview 委托是正确的,并且正在调用 viewForAnnotation。我也确定它的标题和副标题已设置,但现在 pin 只是不显示。任何人都知道除此之外要寻找什么?
当它运行时,我看到我的纬度/经度、图钉标题和副标题已填写。
这是我的代码:
- (MKAnnotationView *) mapView:(MKMapView *) theMapView viewForAnnotation:(id <MKAnnotation>)annotation
{
if ([annotation isKindOfClass:[MKUserLocation class]])
{
return nil;
}
[self.mapView removeAnnotations:self.mapView.annotations];
MKPointAnnotation *pt = (MKPointAnnotation *)annotation;
NSString *PINNAME = pt.title;
CLLocationDegrees lat = pt.coordinate.latitude;
CLLocationDegrees lon = pt.coordinate.longitude;
[Log log:TINFO :@"lat/lon %f - %f", lat, lon];
[Log log:TINFO :@"pin title userid = %@", pt.title];
[Log log:TINFO :@"subtitle: %@", pt.subtitle];
MKPinAnnotationView *pinView = (MKPinAnnotationView *)[self.mapView dequeueReusableAnnotationViewWithIdentifier: PINNAME];
if(pinView == nil)
{
pinView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:PINNAME];
pinView.pinColor = MKPinAnnotationColorGreen;
}
else
{
pinView.annotation = annotation;
}
return pinView;
}