次のようにスクリーンショットを撮っています。
- (UIImage*)screenshot
{
UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow];
CGRect rect = [keyWindow bounds];
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
[keyWindow.layer renderInContext:context];
UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return img;
}
UIViewでは、を使用してパスを描画していますUIBezierPath
。
私が取得しているスクリーンショットは、このように正しくありません
なぜ上部が空白にカットされているのか、何か考えはありますか?UIViewでは、すべての図面が正しく表示されます。
UIBezierPath
更新:これは、ブラシを離してスクリーンショットを取得するときに長いパスを描画すると、スクリーンショットが正しく取得されるときに発生します。