HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了当用户平移地图时,iOS 6中的地图注释不会保持旋转状态大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
真的很想回答这个问题 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发生了哪些变化?

解决方法

解决此问题的方法是在viewForAnnotation方法中执行以下操作:
// iOS6 BUG WORKAROUND !!!!!!!
if (is6orMorE) {
     [AnnotationView setTransform:CGAffineTransformMakeRotation(.001)]; //any small positive rotation
}

这是我在原始问题中作为评论发布的,然后由cristis发布作为答案(引用我的评论),但我发布并接受我自己的答案,因为我想出了它.这有意义吗?

大佬总结

以上是大佬教程为你收集整理的当用户平移地图时,iOS 6中的地图注释不会保持旋转状态全部内容,希望文章能够帮你解决当用户平移地图时,iOS 6中的地图注释不会保持旋转状态所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。