두 번째 또는 후속로드에서 MKMapView 대리자 메서드가 호출되지 않고로드 맵 영역을 사용하려고합니다. 어떤 대리자 메서드도 없습니다.MKMapView 캐시를 지우는 방법은 무엇입니까?
- (void)mapViewWillStartLoadingMap:(MKMapView *)mapView;
- (void)mapViewDidFinishLoadingMap:(MKMapView *)mapView;
- (void)mapViewDidFailLoadingMap:(MKMapView *)mapView withError:(NSError *)error;
등이 있습니다. 유일한 메소드는
- (void)mapView:(MKMapView *)mapView regionWillChangeAnimated:(BOOL)animated;
- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated;
입니다. ios4는 mapview 타일 이미지를 캐싱하고있는 것 같습니다.
이 줄들은 MKMapViewDelegate Protocol Reference 문서에서 발견되었습니다. 하이라이트 된 선이 제 문제입니다.
이 메서드는 현재 요청과 연결된지도 타일이로드 될 때 호출됩니다. 새로운 시각적 영역을보기로 스크롤하고 타일을 사용할 수없는 경우 맵 타일이 요청됩니다.. 맵 타일은 현재 보이지 않는 맵 부분에 대해서도 요청할 수 있습니다. 예를 들어지도 뷰는 사용자가 작은 팬을 처리하는 데 필요한대로 현재 보이는 영역을 바로 둘러싼 타일을로드 할 수 있습니다.
지도가로드 된 후 특정 작업을 수행해야하지만 위에서 언급 한 대리자 메서드 중 아무 것도 호출되지 않아 원하는 기능을 수행 할 수 없습니다. 누구든지 캐시를 지우거나 이에 대한 대체 솔루션을 제공하는 수정 프로그램을 제안 할 수 있습니까? 나는 이미 here과 this이라고 기술 된 방법을 사용해 보았지만 아직 코드를 작동시킬 수 없었다.
위임자 메소드를 사용하여 정확히 달성하려는 것은 무엇입니까? – AlexB
didFinishLoadingMap에서 map의 화면 잡기가 필요합니다.이 위임 메서드는 타일을 캐싱 한 후에 한 번만 호출되며 didfinish 또는 failLoad 대리자도 호출하지 않습니다. 이제 어떻게해야합니까? –
나는 Apple Bug # 13774496을이 문제와 관련하여 제출했으며 문제가 iOS6에 여전히 존재 함을 보여주는 예제 응용 프로그램을 만들었습니다. https://github.com/iwasrobbed/MapKitDelegateBug – iwasrobbed