真的很想回答这个问题
https://devforums.apple.com/message/723468.我不能发布细节,因为它关于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<MKAnnotation> annotation in mapViewTmp.annotations) { MKAnnotationView* annotationView =[mapViewTmp viewForAnnotation:annotation]; [annotationView setTransform:CGAffineTransformMakeRotation(-lastRotation)]; //counter rotate the Annotation Views [annotationView setNeedsDisplay]; //ios6 } }
这工作得很好(1000个用户).
但是在ios6中(我在2012年9月4日更新了Xcode / sdk),注释视图不会保持此旋转(例如,如果平移了map).它们翻转回到非旋转状态(由于我的地图旋转意味着它们以一定角度而不是水平显示文本).
代码会暂时旋转注释,使其文本显示为水平,但如果地图被平移(并且它们似乎也是其他原因),则注释会翻转到非旋转状态,我的注释文本会以相对于其的角度显示旋转地图.
旋转MKAnnotationView以使其在IOS6中保持旋转的正确方法是什么?导致变化的MKMapView发生了哪些变化?