2012-10-04 2 views
0

Google지도의 앱에는 나침반 표제와 정렬되는 회전지도보기가 있습니다. 주석을 반대 방향으로 회전하여 콜 아웃이 읽기 위해 수평으로 유지되도록합니다. 이것은 iOS5 장치에서는 잘 작동하지만 iOS6에서는 문제가 있습니다 (iOS5 장치에서 사용 된 바이너리와 iOS6 SDK로 작성된 바이너리와 관련된 문제). 주석은 처음에 올바른 수평 위치로 회전 한 다음 잠시 후에 수정되지 않은 회전으로 되돌아갑니다. 이 문제를 일으키는 어떤 사건도 볼 수 없습니다. 다른 사람이이를 본 누군가는 iOS6의 그것을 해결하는 방법에 어떤 제안을 가지고ios 6 MapKit 특수 효과 순환

CATransform3D transformZ = CATransform3DIdentity; 
transformZ = CATransform3DRotate(transformZ, _rotationZ, 0, 0, 1); 
annotation.myView.layer.transform = transformZ; 

(ID) 주석 : (MKMapView *) 맵보기 (Map View) viewForAnnotation : (MKAnnotationView *)지도보기 - 이것은 우리가 사용하고있는 코드입니다 ?

답변

3

동일한 문제가있어서 제 해결 방법이 유용 할 수 있습니다. 또한 Apple에 버그를 제출했습니다. 나를 위해지도가 사용자에 의해 이동 될 때마다 주석은 "회전되지 않음"을 얻습니다.

내 코드에서 CGAffineTransformMakeRotation을 사용하여 회전을 설정했지만 viewForAnnotation에서는 설정하지 않지만 사용자 위치가 업데이트 될 때마다 설정합니다. 그래서 그것은 당신과는 조금 다릅니다.

내 해결 방법은 내 viewForAnnotation 메서드의 아래쪽에 추가로 작은 회전을 추가하는 것입니다.

if(is6orMore) { 
     [annView setTransform:CGAffineTransformMakeRotation(.001)]; //iOS6 BUG WORKAROUND !!!!!!! 
} 

그래서 당신을 위해, 당신이 다르게 회전 viewForAnnotation에 그 일을하기 때문에 즉, 작동하는지 모르겠어요. 그러나 한번 사용해보십시오.

나를 영원히 찾아서이 수정 프로그램을 통해 일어났습니다.

+0

감사합니다. Fraggle - 내 상황에 대한 속임수이기도합니다. 당신은 영웅입니다. Apple Bug ID를 공유 할 수 있도록 도와 주시겠습니까? – goelectric