2011-08-04 81 views
6

標準標註,黑色泡泡很好,但可以自定義嗎?比如我想製作一個白色的泡泡版本。MKAnnotation的自定義標註視圖?

+0

[自定義MKAnnotation標註泡]的可能的複製(HTTP://計算器.com/questions/4094325/customizing-the-mkannotation-callout-bubble) –

回答

7

有一個偉大的回答這個問題就在這裏:Customizing the MKAnnotation Callout bubble

如果這個答案是@MathieuF給出:

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation{ 
MKAnnotationView *annotationView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"loc"]; 

// Button 
UIButton *button = [UIButton buttonWithType:UIButtonTypeDetailDisclosure]; 
button.frame = CGRectMake(0, 0, 23, 23); 
annotationView.rightCalloutAccessoryView = button; 

// Image and two labels 
UIView *leftCAV = [[UIView alloc] initWithFrame:CGRectMake(0,0,23,23)]; 
[leftCAV addSubview : yourImageView]; 
[leftCAV addSubview : yourFirstLabel]; 
[leftCAV addSubview : yourSecondLabel]; 
annotationView.leftCalloutAccessoryView = leftCAV; 

annotationView.canShowCallout = YES; 

return pin; 
} 
+3

這很好,但它不涉及從泡泡下來的三角形或可變寬度的泡泡(以包含可變數量的文本) – cannyboy

+0

@cannyboy同樣的問題在這裏。你可以讓我知道你是如何解決它? –

+0

我需要兩個按鈕之一leftView和rightView? 如何將動作添加到左視圖和右視圖的自定義按鈕? – Sanju