나는 현재 맵킷으로 작업하고 있는데 막혔습니다.
사용중인 사용자 지정 주석보기가 있고 image 속성을 사용하여 내 아이콘으로지도에 지점을 표시하려고합니다. 나는 이것이 잘 작동한다. 하지만 제가 또한하고 싶은 것은 기본 콜 아웃보기 (주석 아이콘을 터치하면 제목 / 부제목과 함께 표시되는 풍선)를 재정의하는 것입니다. 콜 아웃 자체를 제어 할 수 있기를 원합니다. 맵킷은 왼쪽 및 오른쪽 보조 콜 아웃보기에 대한 액세스 만 제공하지만 콜 아웃 풍선에 대한 사용자 정의보기를 제공하거나 크기를 0으로 지정하거나 다른 어떤 것도 제공 할 수 없습니다.
내 생각은 내에서 selectAnnotation / deselectAnnotation을 재정의 MKMapViewDelegate
한 다음 내 사용자 지정 주석보기를 호출하여 내 사용자 지정보기를 그리는 것입니다. 이것은 작동하지만 내 사용자 정의 주석보기 클래스에서 canShowCallout
로 설정된 경우에만 가능 YES
합니다. 이 메서드를 설정하면이 메서드가 호출되지 않습니다 NO
(원하는대로 기본 설명 선 풍선이 그려지지 않음). 따라서 기본 콜 아웃 풍선보기가 표시되지 않고 사용자가지도에서 내 지점을 터치했는지 (선택했는지) 또는 내 주석보기의 일부가 아닌 지점을 터치했는지 (삭제했는지) 알 수있는 방법이 없습니다.
다른 경로로 내려 가서지도에서 모든 터치 이벤트를 직접 처리하려고했지만이 작업을 수행 할 수없는 것 같습니다. 지도보기에서 터치 이벤트 잡기와 관련된 다른 게시물을 읽었지만 정확히 내가 원하는 것이 아닙니다. 그리기 전에 콜 아웃 버블을 제거하기 위해 맵 뷰를 파헤치는 방법이 있습니까? 나는 헤매고있다.
어떤 제안? 나는 명백한 것을 놓치고 있습니까?