다음 이미지와 같이 주석 제목을 표시하는 데 문제가 있습니다. 첫 번째 이미지는 가치를 아주 잘 나타냅니다. 반면에 값이 세 자리수가되면 제목은 두 번째 이미지에 표시된 것처럼 세 개의 점을 표시합니다. 이 문제를 해결하는 방법을 알고 싶습니다. 어떤 생각이라도 환영 할 만하다. 미리 감사드립니다, 감사합니다! 나는 참조 용으로 여기에 내 코드를 넣었다.지도 주석 showCallout-iOS
- (MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:(id <MKAnnotation>)annotation {
MKAnnotationView *pinView=nil;
if(![annotation isKindOfClass:[Annotation class]]) // Don't mess user location
return nil;
static NSString *defaultPinID = @"StandardIdentifier";
pinView = (MKAnnotationView *)[self.mapView dequeueReusableAnnotationViewWithIdentifier:defaultPinID];
if (pinView == nil){
pinView = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:defaultPinID];
}
if ([annotation isKindOfClass:[Annotation class]]) {
Annotation *a = (Annotation *)annotation;
pinView.image = [ZSPinAnnotation pinAnnotationWithColor:a.color];
pinView.annotation = a;
pinView.enabled = YES;
pinView.centerOffset=CGPointMake(6.5,-16);
pinView.calloutOffset = CGPointMake(-11,0);
}
pinView.canShowCallout = YES;
UIButton *rightButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
[rightButton setTitle:annotation.title forState:UIControlStateNormal];
[pinView setRightCalloutAccessoryView:rightButton];
pinView.leftCalloutAccessoryView = [[UIView alloc] init];
pinView.leftCalloutAccessoryView=nil;
return pinView;
}
내 showCallout 제목은 다음 코드 업데이트됩니다 :
NSNumber *attr2=[attr valueForKey:@"ozone_level"];
annotation.title=[NSString stringWithFormat:@"Ozone Level:%@",[attr2 stringValue]];
어떤 iOS 버전이 있습니까? – detunized
내 버전은 iOS 6.0 –
안녕하세요 @ user1724168, 내 대답은 iOS 6에서 시뮬레이터와 기기 모두에서 작동합니다. :) –