ios8上的地图旋转速度非常慢

时间:2014-11-19 10:41:24

标签: ios ios7 ios8 mkmapview autoresizingmask

我在旧项目的VC中获得了以下代码(没有故事板,纯代码):

- (void)viewDidLoad {
    [super viewDidLoad];
    self.mapView = [[MKMapView alloc] initWithFrame:CGRectInset(self.view.frame, 10, 10) ];
    [self.view addSubview:self.mapView];
    self.view.backgroundColor = [UIColor redColor];
    self.mapView.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
    self.view.translatesAutoresizingMaskIntoConstraints = NO; // <--- this line
}

如果我评论最后一行,从纵向到横向的旋转或其他方式在ios8下大约 3秒 !!此外,偶尔会在随机时间无法分配渲染缓冲区存储!错误出现。

如果我没有发表评论,那几乎是即时的( 0.7秒)。 它似乎只与mapviews相关,其他视图/ VC旋转得很好。

在ios7下,无论如何,在该行被评论的情况下,旋转速度很快。

为什么?为什么只有mapview受到影响?

编辑:很明显autoresizingmask是错误的。如果在viewDidLoad中我将其值设置为none并手动更改willRotate中的帧,则它可以快速运行。

1 个答案:

答案 0 :(得分:1)

当应用程序从后台返回时,我遇到了同样的问题。它冻结了几秒钟,然后再次起作用。我使用了没有Autolayout的.xib文件。当我更新.xib文件并添加了Autolayout选项时,问题就消失了。我想出了这个想法,因为你写道,自动化是解决方案中的问题。也许这对其他人也有帮助......

欢呼声 保罗