1

以前- (BOOL)presentPreviewAnimated:(BOOL)animated; はドキュメントを読み込んでいたので、ドキュメントからスクリーンショットを撮りたいので、試してみます

UIGraphicsBeginImageContext(self.view.bounds.size);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
currentImage=UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

しかし、それはメインビューを取るだけなので、ドキュメントビューのレイヤーを取る方法を教えてくれる人を探しています。

4

1 に答える 1

0

ポップオーバー (UIDocumentInteractionController を含むものがあります) がビュー コントローラーのビューに追加されないため、これは機能しません。

それらは、アプリケーション ウィンドウの上にある独自のビューに追加されます。

// This is kind of hacky, do not use for production :)
// Make sure this code is executed while the popover is being shown.
UIView *uiDimmingView = [[[[UIApplication sharedApplication] keyWindow] subviews] lastObject];
UIView *uiPopoverView = [[uiDimmingView subviews] lastObject];

使用uiDimmingViewすると、ポップオーバーを含むビュー全体が取得されます。uiPopoverViewポップオーバーそのものです。

これらの結果は最適ではありませんが、非生産的なものにはおそらく十分です (他の人に見せるためにこれが必要だと仮定しています)。

于 2012-04-11T04:23:20.653 に答える