在我的應用程序中,我根據設備標題旋轉MapView,我只有一個註釋,並且我正在旋轉它的pin並且它也是pinView。 我的旋轉方法是下一個功能裏面根據設備標題旋轉MKAnnotationPinView
- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading {
if (newHeading.headingAccuracy < 0)
return;
CLLocationDirection theHeading = ((newHeading.trueHeading > 0) ?
newHeading.trueHeading : newHeading.magneticHeading);
lastHeading = theHeading;
[self rotateImage:self.mapView duration:0.1 degrees:-theHeading];
[self rotateImage:jerusalemPinView duration:0.1 degrees:theHeading];
}
旋轉功能:
- (void)rotateImage:(UIView *)view duration:(NSTimeInterval)duration
degrees:(double)angleDegrees
{
// Setup the animation
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:duration];
[UIView setAnimationBeginsFromCurrentState:YES];
// The transform matrix
CGAffineTransform transform =
CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(angleDegrees));
view.transform = transform;
[UIView commitAnimations];
}
它的工作,但隨後的註釋和pinView總是「試圖回頭向北」,然後在接下來的時間該設備正在轉身我的方法工程等.. 我錯過了什麼?
感謝
我不完全明白。你是說第一次不行,但是在那之後呢?什麼定義了一個新的嘗試?這是一個新的電話didUpdateHeading嗎?如何向我們展示您在該功能中的代碼。 – Craig
用代碼編輯。 它的工作原理,然後又跳回北 – user1553961