У меня есть UIView с UITableView, который расширяется под клавиатурой. Содержимое в табличном представлении достаточно яркое, из чего видно, что содержимое находится за клавиатурой. Я пытаюсь сделать снимок экрана всего представления, чтобы размыть его, используя следующий код:
- (UIImage *)screenshotFromView:(UIView *)view;
{
UIGraphicsBeginImageContextWithOptions(view.bounds.size, NO, 0.0);
[view drawViewHierarchyInRect:view.bounds afterScreenUpdates:NO];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
Однако возвращаемое изображение не создает прозрачную клавиатуру. Это представляет собой странный переход при переходе от неразмытого изображения к размытому виду, поскольку перед переходом к размытому изображению за клавиатурой явно находится контент.
Можно ли сделать скриншот всего экрана без использования приватных API, сохранив при этом прозрачность клавиатуры и строки состояния?