应用自动调整大小时,iOS8 MKMapView Framebuffer在旋转期间出错

#import "AppDelegate.h"
#import <MapKit/MapKit.h>

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:   (NSDictionary *)launchOptions
{
    [self setwindow:[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]];
    [self.window makeKeyAndVisible];

    UIViewController *vc = [[UIViewController alloc] init];
    self.window.rootViewController = vc;
    vc.view.autoresizingMask = UIViewAutoresizingFlexibleWidth |    UIViewAutoresizingFlexibleHeight;

    MKMapView *map = [[MKMapView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    map.autoresizingMask = UIViewAutoresizingFlexibleHeight;
    [vc.view addSubview:map];

    return YES;
}

@end

要查看问题,请运行上面的代码并旋转设备.
您将体验到旋转动画发生的显着延迟.

如果您连接iOS8 iPad并运行模拟器,
你会收到这些警告:

Crash! 0x15dd7980
ERROR /SourceCache/VectorKit/VectorKit-992.16/GeoGL/GeoGL/GLCoreContext.cpp 1237: Framebuffer incomplete,incomplete attachment

有谁知道如何解决这个问题?

解决方法

我也遇到了这种情况,并且发现只有在选择了调整大小选项时才会出现这种情况(即调整视图大小时调整高度和宽度).我没有使用自动布局.

如果我只是将一个MKMapView添加到视图中,这没有问题,但是如果我选择调整大小,它会生成如上所示的相同消息.

(对不起,这是评论而非答案,但我无法在1票上添加评论,我认为这可能有助于诊断问题)

更新 – 我在我的一个测试设备上安装了8.1 Beta,我没有遇到这个问题.很有可能这是一个被8.1地毯扫过的问题:)

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...