gpt4 book ai didi

iphone - MKMapView 到 UIImage iOS 7

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:29:44 26 4
gpt4 key购买 nike

将 MKMapView 渲染到 UIImage 的代码在 iOS 7 中不再有效。它返回一个空图像,只有底部的“Legal”一词和右上角的黑色罗盘。 map 本身丢失了。下面是我的代码:

UIGraphicsBeginImageContext(map.bounds.size);
[map.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

Map 是一个指向 MKMapView 的 IBOutlet。有什么方法可以在 iOS 7 中正确渲染 MKMapView?

最佳答案

来自 this SO帖子:

您可以使用 MKMapSnapshotter 并从生成的 MKMapSnapshot 中抓取图像。看它的讨论WWDC 2013 session 视频,透视 Map Kit。

例如:

MKMapSnapshotOptions *options = [[MKMapSnapshotOptions alloc] init];
options.region = self.mapView.region;
options.scale = [UIScreen mainScreen].scale;
options.size = self.mapView.frame.size;

MKMapSnapshotter *snapshotter = [[MKMapSnapshotter alloc] initWithOptions:options];
[snapshotter startWithCompletionHandler:^(MKMapSnapshot *snapshot, NSError *error) {
UIImage *image = snapshot.image;
NSData *data = UIImagePNGRepresentation(image);
[data writeToFile:[self snapshotFilename] atomically:YES];
}];

话虽如此,renderInContext 解决方案对我来说仍然有效。有关于仅在 iOS7 的主队列中执行此操作的说明,但它似乎仍然有效。但是 MKMapSnapshotter 似乎是更适合 iOS7 的解决方案。

关于iphone - MKMapView 到 UIImage iOS 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19022434/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com