1
私はPDFでuiviewを保存する方法を知っていますが、私の問題はPDFでuiview全体を保存する方法です。たとえば、iPadディスプレイよりも長く、スクロールする必要があるそれは私はPDFファイルでアクティブなビューを保存することができますが、残りは存在しません。 私はヘルプやチュートリアルを探しています。PDF全体のuiviewをPDFに保存する
ありがとうございました。
私はPDFでuiviewを保存する方法を知っていますが、私の問題はPDFでuiview全体を保存する方法です。たとえば、iPadディスプレイよりも長く、スクロールする必要があるそれは私はPDFファイルでアクティブなビューを保存することができますが、残りは存在しません。 私はヘルプやチュートリアルを探しています。PDF全体のuiviewをPDFに保存する
ありがとうございました。
あなたは、このようなPDFを視野にレンダリングすることができます。もちろん
#define kDefaultPageHeight 1024
#define kDefaultPageWidth 768
#define kMargin 5
CGRect origframe = someView.frame;
NSString *heightStr = origFrame.size.height;
int height = [heightStr intValue];
// Size of the view in the pdf page
CGFloat maxHeight = kDefaultPageHeight - 2*kMargin;
CGFloat maxWidth = kDefaultPageWidth - 2*kMargin;
int pages = ceil(height/maxHeight); // or use 1 if you only have 1 page.
UIGraphicsBeginPDFContextToFile(@"some/full/path.pdf", CGRectZero, nil);
UIGraphicsBeginPDFPageWithInfo(CGRectMake(0, 0, kDefaultPageWidth, kDefaultPageHeight), nil);
CGContextRef currentContext = UIGraphicsGetCurrentContext();
CGContextTranslateCTM(currentContext, kMargin, kMargin);
/* this is the view that you will render to the PDF */
[someView.layer renderInContext:currentContext];
UIGraphicsEndPDFContext();
これはコードのラフなスニペットですが、あなたは完全を期すため
あなたのニーズに合わせて調整する必要があります、しばらく'renderInContext'が最善の答えです。' CALayer'の特定の機能を使用した場合、動作しないかもしれません。 「ビューレイヤ内のマスクをキャプチャできません」(http://stackoverflow.com/q/9615235/1318452)を参照してください。 – Dondragmer
私はそれを試してみましょう、しかし、私は教えてください、このコードは、長いページを保存するのですか? – user1021736
さらにもう一つ、このコードではCGRectを使ってフレームを描画し、ストーリーボードを使用するとどうなるかを確認します。それを実装する方法は?このPDFに他のビューを他のページとして追加する方法について説明します。 – user1021736