Поворот аннотаций MapKit в iOS 6

Наше приложение имеет вращающийся вид карты, который совпадает с направлением компаса. Мы поворачиваем аннотации в противоположных направлениях, чтобы их выноски оставались горизонтальными для чтения. Это отлично работает на устройствах iOS5, но не работает на iOS6 (проблема наблюдается с тем же двоичным файлом, который используется на устройстве iOS5, и с двоичным файлом, созданным с помощью iOS6 SDK). Аннотации сначала поворачиваются в правильное горизонтальное положение, а затем через короткое время возвращаются к нескорректированному повороту. Мы не видим никаких событий, которые вызывают это. Это фрагмент кода, который мы используем в аннотации (MKAnnotationView *)mapView:(MKMapView *)theMapView viewForAnnotation:(id )

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

Кто-нибудь еще видел это, и у кого-нибудь есть какие-либо предложения о том, как это исправить на iOS6?


person goelectric    schedule 04.10.2012    source источник


Ответы (1)


У меня была идентичная проблема, поэтому мой обходной путь может сработать для вас. Я также отправил сообщение об ошибке в Apple. Для меня каждый раз, когда пользователь панорамировал карту, аннотации становились «неповернутыми».

В моем коде я устанавливаю повороты с помощью CGAffineTransformMakeRotation, и я не устанавливаю его в viewForAnnotation, а всякий раз, когда обновляется местоположение пользователей. Так что это немного отличается от вас.

Мой обходной путь состоял в том, чтобы добавить дополнительное незначительное вращение в нижней части моего метода viewForAnnotation.

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

Так что для вас я не уверен, что это сработает, поскольку вы вращаетесь по-другому и делаете это в viewForAnnotation. Но попробуйте.

Мне потребовалась вечность, чтобы найти, и я только что наткнулся на это исправление.

person Fraggle    schedule 05.10.2012
comment
Спасибо Fraggle - это помогло и в моей ситуации - ты герой. Можете ли вы поделиться идентификатором ошибки Apple, чтобы я тоже мог ее отследить, пожалуйста? - person goelectric; 08.10.2012