Tem*_*lar 7 mkmapview ios autoresizingmask ios7 ios8
我在旧项目的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
}
Run Code Online (Sandbox Code Playgroud)
如果我评论最后一行,从纵向到横向或其他方式的旋转在ios8下约为3秒 !! 此外,偶尔在随机时间无法分配渲染缓冲区存储!出现错误.
如果我不评论它,它几乎是瞬间的(0.7秒).它似乎只与mapviews相关,其他视图/ VC旋转得很好.
在ios7下,无论如何在该行评论或不评论时旋转都很快.
为什么?为什么只有mapview受到影响?
编辑:似乎很明显autoresizingmask是错误的.如果在viewDidLoad我将其值设置为none并手动更改willRotate中的帧,则它可以快速工作.
当应用程序从后台返回时,我遇到了同样的问题。它冻结了几秒钟,然后又恢复了。我使用了没有自动布局的 .xib 文件。
当我更新 .xib 文件并添加自动布局选项时,问题就消失了。我提出这个想法是因为您写道自动调整大小是您的解决方案中的问题。
| 归档时间: |
|
| 查看次数: |
932 次 |
| 最近记录: |