アプリでビュー (テーブル ビュー) のスクリーンショットを撮ろうとしています。これは私がこれを行うために使用するコードです:
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)])
UIGraphicsBeginImageContextWithOptions(self.tableView.frame.size, NO, [UIScreen mainScreen].scale); //retina display
else
UIGraphicsBeginImageContext(self.tableView.frame.size);
[self.tableView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
これは機能しますが、テーブル ビューが一番上までスクロールされている場合にのみ、そうでない場合は画像が黒くなります。私が見つけた唯一の解決策は、テーブル ビュー全体をキャプチャすることです。目に見える部分だけが必要です。どうすればいいですか?