2

我有一个MKMapView,我想截屏并将其分享到社交网络,例如Facebook。我找到了一种制作屏幕截图的好方法,使用MKMapSnapshotter(从 iOS 7 开始可用),但我的问题是:我可以分享屏幕截图MKMapView吗?苹果允许这样做吗?

我发现了这个类似的问题,但没有给出任何明确的答案。

4

3 回答 3

2

试用适用于 iOS 的 Google Maps SDK: 文档

并使用以下代码制作屏幕截图:

CGRect rect = [captureView bounds];
UIGraphicsBeginImageContextWithOptions(rect.size,YES,0.0f);
CGContextRef context = UIGraphicsGetCurrentContext();
[captureView.layer renderInContext:context];   
UIImage *capturedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
于 2014-02-10T17:35:18.013 回答
1

是的,当然,为什么苹果会反对你?

你肯定可以分享图像。正如您所提到的,您拥有只需要使用默认共享表的图像。这是代码:

NSArray *activityItems = [NSArray arrayWithObjects:yourImage, nil];
UIActivityViewController *aActivityView = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
aActivityView.modalInPopover = UIModalTransitionStyleCoverVertical;
[self presentViewController:aActivityView animated:YES completion:^{

}];

这将呈现一个UIActivityViewController包含共享选项的视图。

希望这可以帮助。

于 2014-02-05T12:03:16.950 回答
0

我的直觉是;为什么苹果不允许这样做?

如果您已经设法获得了UIImage使用MKMapViewApple 提供的MKMapSnapshotter图像,我会冒险猜测 Apple 已经为您提供了所需的工具,您可以对图像进行任何操作,因此您可以使用该图像没有任何限制它。

于 2014-02-05T11:58:31.193 回答