2012-06-06 3 views
1

사용자가지도에서 드래그 할 수있는 MKAnnotationView가 있습니다.MKAnnotationView - 끌기가 어렵습니다.

사용자가 핀을 끌기가 매우 어렵습니다. 프레임 크기를 늘리거나 거대한 사용자 지정 이미지를 사용하려고했습니다. 그러나 드래그가 기본값보다 커야 히트 영역을 실제로 변경하는 것으로 보이는 것은 없습니다.

따라서 어떤 일이 일어나기 전에 약 10 번 탭/드래그를 시도해야합니다.

MKAnnotationView *annView = [[[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"bluedot"] autorelease]; 

UIImage *image = [UIImage imageNamed:@"blue_dot.png"]; 

annView.image = image; 
annView.draggable = YES; 
annView.selected = YES; 
return annView; 

무엇이 여기에 있습니까?

편집 :

그것은 문제를 밝혀 당신이 그것을 드래그 할 수 있습니다 전에 MKAnnotationView 터치 할 필요가 있다는 것입니다. 근처에 핀이 많아서 MKAnnotationView가 너무 작아서 문제가 발생했습니다.

답변

1

드래그하기 전에 MKAnnotationView를 터치해야한다는 것을 알지 못했습니다.

이 문제를 해결하기 위해 MKAnnotationView를 정기적으로 선택하는 타이머를 만들었습니다.

NSTimer *selectAnnotationTimer = [[NSTimer scheduledTimerWithTimeInterval:0.2 target:self selector:@selector(selectCenterAnnotation) userInfo:nil repeats:YES] retain]; 

이와 방법은 호출 :

- (void)selectCenterAnnotation { 
    [mapView selectAnnotation:centerAnnotation animated:NO];  
}  
0

이 대신 타이머를 사용하는, 당신이 아래로 마우스의 주석을 선택할 수 있습니다. 이렇게하면 주석 선택이 엉망이되지 않으며 항상 실행되는 각 주석에 대한 타이머가 없습니다.

Mac 응용 프로그램을 개발할 때도 동일한 문제가 발생했으며 마우스를 아래로 드래그하면 주석이 잘려집니다.

관련 문제