アニメーションで使用する別のコントローラーのビューのスナップショットを取得しようとしています。次のコードを使用していますが、そのビューの背景色とそのサブビュー(2つのボタン、テキストビュー、およびラベル)は表示されません。
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
FirstPageController *fpController = [self.storyboard instantiateViewControllerWithIdentifier:@"FirstPage"];
UIGraphicsBeginImageContext(fpController.view.bounds.size);
NSLog(@"%@",fpController.view.subviews);
[fpController.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
CGSize destinationSize = CGSizeMake(90, 122);
UIGraphicsBeginImageContext(destinationSize);
[viewImage drawInRect:CGRectMake(0,0,destinationSize.width,destinationSize.height)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
self.imageView2 = [[UIImageView alloc] initWithImage:newImage];
self.imageView2.center = self.view.center;
[self.view addSubview:self.imageView2];
NSLog(@"%@",NSStringFromCGSize(self.imageView2.image.size));
}
fpController、imageView、imageなど、関連するすべてのものをログに記録しましたが、すべて正しくログに記録されています。
編集後:現在のコントローラーのビューに切り替えると正常に動作するので、これは画面に表示されていないビューのスナップショットを取得することと関係があると思います。それはできますか?