【发布时间】:2013-05-12 04:17:16
【问题描述】:
我正在创建从 UIView 到 pdf 的 pdf,它工作正常,但我有 scrollView 的内容,我想将其转换为 pdf,但它只显示 pdf 中的可见部分,而不是整个 scrollView 内容。这是我的代码
-(void)createPDFfromUIView:(UIView*)aView saveToDocumentsWithFileName:(NSString*)aFilename
{
NSMutableData *pdfData = [NSMutableData data];
// Get Scrollview size
CGRect scrollSize = CGRectMake(1018,76,scrollView.contentSize.width,scrollView.contentSize.height);
// Points the pdf converter to the mutable data object and to the UIView to be converted
UIGraphicsBeginPDFContextToData(pdfData, scrollSize, nil);
UIGraphicsBeginPDFPage();
CGContextRef pdfContext = UIGraphicsGetCurrentContext();
// draws rect to the view and thus this is captured by UIGraphicsBeginPDFContextToData
[aView.layer renderInContext:pdfContext];
// remove PDF rendering context
UIGraphicsEndPDFContext();
// Retrieves the document directories from the iOS device
NSArray* documentDirectories = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES);
NSString* documentDirectory = [documentDirectories objectAtIndex:0];
NSString* documentDirectoryFilename = [documentDirectory stringByAppendingPathComponent:aFilename];
// instructs the mutable data object to write its context to a file on disk
[pdfData writeToFile:documentDirectoryFilename atomically:YES];
NSLog(@"documentDirectoryFileName: %@",documentDirectoryFilename);
}
【问题讨论】:
-
访问这个答案,它会帮助你。 stackoverflow.com/a/6566696/1223897
-
@Yuvrajsinh 这是我正在使用的相同代码,但它是普通的而不是 UIScrollView
-
我认为问题在于,您正在创建具有静态大小的新 UIView。使用 yourScrollView.contentSize 在滚动视图中获取准确的内容大小(宽度、高度),无需创建新视图。
-
你能在我的代码中编辑如何做到这一点
-
你最后得到正确答案了吗?
标签: iphone ios ipad uiscrollview