2014-01-26 114 views
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; 
} 

有人可以幫我嗎?

+0

您的問題標題顯示「Button _title_ does not show ...」。你的意思是你沒有在你的按鈕上看到「測試」這個詞,而是你看到一個帶有一個圓圈的「我」?如果是這樣,您需要設置足夠寬度的按鈕框架,使標題對於「我」圖標的右側可見。如果您不需要「我」圖標,請使用UIButtonTypeCustom而不是UIButtonTypeInfoDark。 – Anna

+0

我看不到「測試」一詞。我用btn.frame = CGRectMake(0,0,140,​​100)UIButtonTypeCustom,但它不工作。我嘗試了其他按鈕類型,但沒有結果。要麼它不工作(沒有按鈕顯示)要麼我可以看到「我」圖標(所有沒有標題的情況下) – Zoomzoom

+0

所以你得到一個標註,但你沒有看到一個按鈕,對吧?當你點擊一個註釋時,它是否在一個小的彈出框中顯示註釋標題?確保設置了地圖視圖委託(將地圖視圖的委託出口連接到視圖控制器或在代碼中執行mapView.delegate = self)。你怎麼知道viewForAnnotation被調用?在那裏放一個NSLog或斷點。 – Anna

回答

0
  1. 您是否向您添加了註釋映射?
  2. 你有沒有設置MKMapView的代表?
  3. 你的viewForAnnotation函數是否被調用?
+0

1.是2.是3.是 – Zoomzoom