1
這是我的問題。由於我的viewForAnnotation方法,我創建了一個帶按鈕的紅色別針,但沒有顯示按鈕。在這裏我的代碼:按鈕標題不顯示註釋
-(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
{
//static NSString *defaultPinID = @"identifier";
MKPinAnnotationView *pinView = (MKPinAnnotationView*)[mapView dequeueReusableAnnotationViewWithIdentifier:@"identifier"];
if (pinView == nil)
{
pinView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"identifier"];
pinView.enabled = YES;
pinView.pinColor=MKPinAnnotationColorRed;
pinView.canShowCallout = YES;
UIButton *btn = [UIButton buttonWithType:UIButtonTypeInfoDark];
[btn setTitle:@"test" forState:UIControlStateNormal];
pinView.rightCalloutAccessoryView = btn;
}
else
{
pinView.annotation = annotation;
}
pinView.annotation = annotation;
return pinView;
}
有人可以幫我嗎?
您的問題標題顯示「Button _title_ does not show ...」。你的意思是你沒有在你的按鈕上看到「測試」這個詞,而是你看到一個帶有一個圓圈的「我」?如果是這樣,您需要設置足夠寬度的按鈕框架,使標題對於「我」圖標的右側可見。如果您不需要「我」圖標,請使用UIButtonTypeCustom而不是UIButtonTypeInfoDark。 – Anna
我看不到「測試」一詞。我用btn.frame = CGRectMake(0,0,140,100)UIButtonTypeCustom,但它不工作。我嘗試了其他按鈕類型,但沒有結果。要麼它不工作(沒有按鈕顯示)要麼我可以看到「我」圖標(所有沒有標題的情況下) – Zoomzoom
所以你得到一個標註,但你沒有看到一個按鈕,對吧?當你點擊一個註釋時,它是否在一個小的彈出框中顯示註釋標題?確保設置了地圖視圖委託(將地圖視圖的委託出口連接到視圖控制器或在代碼中執行mapView.delegate = self)。你怎麼知道viewForAnnotation被調用?在那裏放一個NSLog或斷點。 – Anna