Аннотации карты в iOS 6 не остаются повернутыми, когда пользователь просматривает карту
Очень бы понравился ответ на этот вопросhttps://devforums.apple.com/message/723468, Я могу't опубликовать подробности, потому что это о iOS 6 и является конфиденциальным для Apple.
Пожалуйста, оставьте ответы / комментарии в сообщении на форумах Apple Dev и дайте мне знать об этом здесь.
РЕДАКТИРОВАТЬ: Поскольку iOS6 официально выпущен:
В моем коде pre-ios6 яЯ делаю это, чтобы повернуть карту, когда местоположение пользователя перемещается:
//this is in my MKMapViewDelegate
-(void) rotateMap:(MKMapView *)mapViewTmp forLocation:(MKUserLocation *) userLocation {
...
//calculate needed rotation
...
[mapViewTmp setTransform:CGAffineTransformMakeRotation(lastRotation)]; //rotate the MKMapView
for (id annotation in mapViewTmp.annotations) {
MKAnnotationView* annotationView =[mapViewTmp viewForAnnotation:annotation];
[annotationView setTransform:CGAffineTransformMakeRotation(-lastRotation)]; //counter rotate the Annotation Views
[annotationView setNeedsDisplay]; //ios6
}
}
И это работало нормально (тысячи пользователей).
Однако в ios6 (я обновил Xcode / sdk 9/4/2012), представления аннотаций не поддерживают это вращение (например, если карта панорамируется). Они возвращаются в свое неповоротное состояние (что, поскольку моя карта повернута, означает, что они показывают текст под углом, а не по горизонтали).
Код временно поворачивает аннотации, так что их текст выглядит горизонтальным, но если карта панорамируется (и, похоже, они также являются другими причинами), то аннотации переходят в свое неповоротное состояние, и мой текст аннотации появляется под углом относительно повернутая карта.
Как правильно повернуть MKAnnotationView, чтобы он оставался повернутым в IOS6? Что изменилось в MKMapView, что вызвало изменение?