我viewforAnnotation這樣的定義:依奧斯地圖標註與按鈕
- (MKPinAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:(id <MKAnnotation>)annotation{
MKPinAnnotationView *view = nil;
//MKPinAnnotationView *view=[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"HotSpotsLoc"];
if(annotation !=mapView.userLocation){
view = (MKPinAnnotationView *)
[mapView dequeueReusableAnnotationViewWithIdentifier:@"identifier"];
if(nil == view) {
view = [[MKPinAnnotationView alloc]
initWithAnnotation:annotation reuseIdentifier:@"identifier"];
}
UIButton *btnViewVenue = [UIButton buttonWithType:UIButtonTypeSystem];
[btnViewVenue setTitle:@"Foo" forState:UIControlStateNormal];
view.rightCalloutAccessoryView=btnViewVenue;
view.enabled = YES;
view.pinColor = MKPinAnnotationColorPurple;
view.canShowCallout = YES;
view.multipleTouchEnabled = NO;
//view.animatesDrop = YES;
}
return view;
}
它通常工作,增加了一個按鈕等等。但是,當我補充一下:
[btnViewVenue setTitle:@"Foo" forState:UIControlStateNormal];
要設置按鈕的名稱,節目不工作了,我不能添加任何註釋或什麼,只是有MapView類。誰能告訴我什麼是錯的? 謝謝。
您可能還需要設置按鈕的框架和titleColor。 – Anna 2014-10-20 10:43:54