2014-03-28 4 views
0

콜 아웃없이 사용자 정의 MKAnnotationView (이미지 포함)을 만들고 싶지만 터치 후 확장 가능합니다.)콜 아웃없이 확장 가능한 사용자 정의 MKAnnotationView

1 먼저 MKAnnotation은 다음과 같습니다 : 여기에 내가 생각하고있는 것입니다

enter image description here

2) 그런 다음이 확장하고 다음과 같습니다해야 거기에 탭 후 :

enter image description here

저는 MKAnnotationView 세관에서 시작하여 수업을 가지고 있습니다 :

-(MKAnnotationView*)annotationView { 
    MKAnnotationView *annotationView = [[MKAnnotationView alloc] initWithAnnotation:self reuseIdentifier:@"AnnotationIdentifier"]; 
    annotationView.enabled = YES; 
    annotationView.image = [[UIImage imageNamed:@"star"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; 

    return annotationView; 
} 

그리고 내가이 MKAnnotationView에 하위 뷰를 같이있는 CustomView를 설정하기 만하려고하지만 난 이미지를 설정하지 않을 때 응답하지 않습니다 (이 :@interface CustomPinAnnotation : NSObject <MKAnnotation>

클래스는 방법을 꽤 논리적입니다.) 그것에 대해 생각해 보았습니다. 그러나 여기에서 뭔가 매우 불쾌한 일을하고 있다는 느낌이 들었습니다. 어쨌든 MKAnnotationView을 무시할 수있는 방법이어야합니다. 첫 번째 방법은 첫 번째 이미지가 될 것입니다 시간이 나타납니다 주석에 대한보기 위해처럼

답변

1
-(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation 
    { 
      enemyAnnotationView.image = [UIImage imageNamed:@"firstImage.png"]; 
    } 

-(void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view 
    { 
      enemyAnnotationView.image = [UIImage imageNamed:@"SecondImage.png"]; 
    } 

두 번째 방법은 실행됩니다하려고하면 쉽고 완벽하게 사용자 선택 주석

+0

오! 나는 내가 그것을 overenginering하고있다라는 것을 안다 :) 고마워! – Kuba