viewA
サブビューのグリッドで構成されるビュー ( ) があります。のレイヤーを画像コンテキストにレンダリングviewA
し、サブビュー間の線を確認しています。これらの行は、ビューを画像コンテキストにレンダリングするときだけ、スクリーンショットにはありません。
のスクリーンショットは次のviewA
とおり
です。
これは からレンダリングされた画像ですviewA
:
次のコードを使用viewA
して、画像コンテキストにレンダリングしています。
- (void)saveToPhotoAlbum:(id)sender
{
CGRect frame = self.view.bounds;
UIGraphicsBeginImageContextWithOptions(frame.size, YES, [UIScreen mainScreen].scale);
CGContextRef context = UIGraphicsGetCurrentContext();
[self.view.layer renderInContext:context];
UIImage* image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIActivityViewController* avc = [[UIActivityViewController alloc] initWithActivityItems:[NSArray arrayWithObject:image] applicationActivities:nil];
if ([[self class] iPad]) {
if (popoverController) {
[popoverController release], popoverController = nil;
}
popoverController = [[UIPopoverController alloc] initWithContentViewController:avc];
[popoverController presentPopoverFromRect:[sender frame] inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
} else {
[self presentViewController:avc animated:YES completion:^{
}];
}
[avc release];
}