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

标签 ios8 mapkit framebuffer autoresize

#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



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

最佳答案

我也遇到了这种情况,并且发现它似乎只在选择调整大小选项时才会发生(即随着 View 调整大小调整高度和宽度)。我没有使用自动布局。

如果我只是将 MKMapView 添加到 View 中,那没有问题,但是如果我选择调整大小,它会生成与上图相同的消息。

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

更新 - 我在其中一台测试设备上安装了 8.1 Beta,但没有遇到此问题。很有可能这是一个在 8.1 地毯下被扫除的问题:)

关于应用自动调整大小时,旋转期间的 iOS8 MKMapView Framebuffer 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26095103/

相关文章:

Swift MapKit 不显示固定方向

graphics - 什么是深度帧缓冲区?

swift - AVPlayerViewController 与来自 NSURL 的 AVPlayer

iOS TBD 文件而不是 Mach-O 二进制文件

ios - 子类化 MKMapView 并使其成为 mapview 委托(delegate),同时仍然允许其他委托(delegate)

Java Mapkit 视口(viewport)边界

render - 为什么渲染字形这么慢?

opengl - 尝试创建多重采样帧缓冲区时获取 FramebufferIncompleteMultisample

ios - PHImageManager 在设备上返回方向不正确的图像

ios - 如何从外部 UICollectionView 更改 UICollectionView 单元格背景颜色