현재 CGAffineTransformMakeRotation을 사용하여 MKAnnotationView의 이미지 속성을 회전 중입니다. 그러나이 경우 전체보기는 설명 풍선뿐만 아니라 회전됩니다. 그래서 나는 MKAnnotationView Only Rotate the Image property 내의 제안을 따랐고, 이제는 UIImageView를 만들고 이것을 MKAnnotationView에 서브 뷰로 추가하고 있습니다. 이미지가 문제없이 표시되고 회전합니다. 그러나 MKAnnotationView는 터치 이벤트에 응답하지 않습니다. 이전과 똑같이 행동해야합니다. - 톡톡을 치거나 터치하면 풍선 소리가 나타납니다. 내가해야 할 모든 아이디어?MKAnnotationView의 디스플레이 이미지 회전하기
초기 방법은 내가 (선 거품을 회전하는) 시도 :
MKAnnotationView *aView = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"Pin"];
aView.image = [UIImage imageNamed:@"mapPin.png"];
float newRad = degreesToRadians(degreesToRotate);
[aView setTransform:CGAffineTransformRotate(CGAffineTransformIdentity, newRad)];
가있는 UIImageView를 사용하고있는 하위 뷰 같은 추가 :
MKAnnotationView *aView = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"Pin"];
UIImageView *iv = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"mapPin.png"]];
iv.userInteractionEnabled = YES;
[aView addSubview:iv];
aView.canShowCallout = YES;
업데이트 나 추가하려고 동작하지 않지만 제스처 인식기입니다. imageTapped 메서드는지도에서 MKAnnotationView 내의 UIImageView를 누를 때 호출되지 않습니다. 이 방법에 있습니다 : - (MKAnnotationView *)지도보기 (MKMapView *) MVIEW viewForAnnotation (ID) 주석
MKAnnotationView *aView = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"Pin"];
UIImageView *iv = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"mapPin.png"]];
iv.userInteractionEnabled = YES;
iv.exclusiveTouch = NO;
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(imageTapped:)];
[iv addGestureRecognizer:tapGesture];
[aView addSubview:iv];
나는이 행운과 함께 몇 일 전에 시도, 다시 이번 주말에 그것을 시도하고 내가 운이있는 경우에 나타납니다. – mservidio
제게 쓴 방법을 알려주세요. 제스처 인식기를 이미지보기에 추가하고 이미지보기 사용자 상호 작용을 예로 설정 한 것을 기억해야합니다. –
터치 제스처 이벤트가 시작되지 않습니다 ... 내가 질문에서 시도한 것을 게시 할 것입니다. – mservidio