2010-07-21 10 views
0

MKMapView를 사용하여 인터페이스 빌더로지도를 가져 오려고하지만 그 이유가 보이지 않습니다. 또한 내 아이폰에있는 파일을 찾아 볼 수있는 버튼을 클릭하여이보기에 버튼을 추가하고 싶습니다.Iphone에서지도에 단추를 넣는 방법

나는 이것에 초보적이기 때문에 detial 묘사를 제공하십시오.

감사합니다.

+0

인터페이스 빌더 만 사용하여 간단히 핀을 놓을 수는 없습니다. – esqew

답변

1

지도에 주석을 추가 한 다음지도에 맞춤보기를 제공해야합니다.

는 개체 중 하나의 MKAnnotation 프로토콜을 채택하고 적절한 위도/경도 위치로의 좌표 속성을 설정,지도에 주석을 추가합니다.

다음으로 MKMapView addAnnotation을 사용하여지도에 특수 효과를 추가합니다. viewForAnnotation :이 메소드가 호출되는

, 당신의 주석에 대한 MKAnnotationView을 반환

지도보기를 구현하고, 뷰 컨트롤러에지도의 위임 속성을 설정합니다. 어노테이션에서 사용할 이미지 (버튼 이미지 일까?)에 MKAnnotationView의 이미지 속성을 설정합니다.

주석을 언제 선택했는지 알고 싶다면 mapView : didSelectAnnotationView :을 구현할 수 있습니다.

또한 MKAnnotationView의 leftCalloutAccessoryViewrightCalloutAccessoryView 속성을 사용하여 주석에 선 액세서리 버튼을 설정할 수 있습니다. 이렇게하면 사용자가 mapView : annotationView : calloutAccessoryControlTapped :을 구현하여 설명 선 버튼을 선택하면 응답 할 수 있습니다.

+0

사실 내가 뭘 하려는지 MKMapView를 사용하여 인터페이스 빌더와 내 applcation에서지도를 당기는 것입니다 그러나 어떤 이유로 그것이 나타나지 않습니다. 또한 내 아이폰에있는 파일을 찾아 볼 수있는 버튼을 클릭하여이보기에 버튼을 추가하고 싶습니다. – Ashutosh

0
- (MKAnnotationView *)mapView:(MKMapView *)map viewForAnnotation:(id <MKAnnotation>)annotation 
{ 
    static NSString *AnnotationViewID = @"annotationViewID"; 

    annotationView = (MKAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:AnnotationViewID]; 

    if (annotationView == nil) 
    { 
     annotationView = [[[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:AnnotationViewID] autorelease]; 
    } 
    annotationView.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure]; 
    annotationView.image = [UIImage imageNamed:@"s11.png"]; 

    annotationView.annotation = annotation; 

    [annotationView setEnabled:YES]; 
    [annotationView setCanShowCallout:YES]; 

    return annotationView; 
} 
+0

이것을 사용하면 파이의 주석에 버튼을 추가 할 수 있습니다. –

+1

이 정보를 공유해 주셔서 감사합니다.하지만 인터페이스 작성기를 통해 드래그 앤 드롭 방식으로지도를 가져 오는 방법은 무엇입니까? 나는 똑같은 짓을했으나 나타나지 않았다. 감사합니다. – Ashutosh

관련 문제