我有MKMapView
,我想截取它并将其分享到社交网络,例如 Facebook 。我找到了一个很好的方法来制作屏幕截图,使用MKMapSnapshotter
(从iOS 7开始提供),但我的问题是:我能够分享{{ 1}? Apple是否允许这样做?
我发现了this类似的问题,但没有给出任何明确的答案。
答案 0 :(得分:2)
试用适用于iOS的Google Maps SDK: Documentation
要制作屏幕截图,请使用以下代码:
CGRect rect = [captureView bounds];
UIGraphicsBeginImageContextWithOptions(rect.size,YES,0.0f);
CGContextRef context = UIGraphicsGetCurrentContext();
[captureView.layer renderInContext:context];
UIImage *capturedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
答案 1 :(得分: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
的视图,其中包含共享选项。
希望这有帮助。
答案 2 :(得分:0)
我的直觉是; Apple为何不允许这样做?
如果您已经设法使用Apple提供的UIImage
抓取MKMapView
MKMapSnapshotter
代表{I},我会猜测Apple已经为您提供了所需的工具无论你想要什么样的图像,所以对你用它做什么没有任何限制。