2

viewAサブビューのグリッドで構成されるビュー ( ) があります。のレイヤーを画像コンテキストにレンダリングviewAし、サブビュー間の線を確認しています。これらの行は、ビューを画像コンテキストにレンダリングするときだけ、スクリーンショットにはありません。

のスクリーンショットは次のviewAとおり です。<code>viewA</code> のスクリーンショット

これは からレンダリングされた画像ですviewA: <code>viewA</code> からレンダリングされた画像

次のコードを使用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];
}
4

0 に答える 0