1

私はPDFでuiviewを保存する方法を知っていますが、私の問題はPDFでuiview全体を保存する方法です。たとえば、iPadディスプレイよりも長く、スクロールする必要があるそれは私はPDFファイルでアクティブなビューを保存することができますが、残りは存在しません。 私はヘルプやチュートリアルを探しています。PDF全体のuiviewをPDFに保存する

ありがとうございました。

答えて

1

あなたは、このような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(); 

これはコードのラフなスニペットですが、あなたは完全を期すため

+1

あなたのニーズに合わせて調整する必要があります、しばらく'renderInContext'が最善の答えです。' CALayer'の特定の機能を使用した場合、動作しないかもしれません。 「ビューレイヤ内のマスクをキャプチャできません」(http://stackoverflow.com/q/9615235/1318452)を参照してください。 – Dondragmer

+0

私はそれを試してみましょう、しかし、私は教えてください、このコードは、長いページを保存するのですか? – user1021736

+0

さらにもう一つ、このコードではCGRectを使ってフレームを描画し、ストーリーボードを使用するとどうなるかを確認します。それを実装する方法は?このPDFに他のビューを他のページとして追加する方法について説明します。 – user1021736

関連する問題