Я создаю PDF-файл в своем приложении для ipad, и мне нужно добавить разрывы страниц, поэтому я также должен перемещать элементы, прежде чем отобразить вторую страницу. Например, мое длинное табличное представление нужно будет отрегулировать по вертикали, прежде чем я отобразлю вторую, третью страницу и т. Д.
Создание PDF довольно простое, и у меня есть эта часть, и первая страница генерируется отлично, но когда я пытаюсь установить свой фрейм, чтобы переместить мой просмотр таблицы на следующую страницу, ничего не происходит:
-(void) createPDF {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *writableDBPath = [documentsDirectory stringByAppendingPathComponent:@"tmp.pdf"];
CGContextRef pdfContext = [self createPDFContext:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height) path:(CFStringRef)writableDBPath];
NSLog(@"PDF Context created");
CGContextBeginPage (pdfContext,nil); // 6
//turn PDF upsidedown
CGAffineTransform transform = CGAffineTransformIdentity;
transform = CGAffineTransformMakeTranslation(0, self.view.bounds.size.height);
transform = CGAffineTransformScale(transform, 1.0, -1.0);
CGContextConcatCTM(pdfContext, transform);
//Draw view into PDF
self.view.frame=CGRectMake(0, 0,self.view.bounds.size.width, self.view.bounds.size.height);
[self.view.layer renderInContext:pdfContext];
CGContextEndPage (pdfContext);// 8
CGContextBeginPage (pdfContext,nil);
//turn PDF upsidedown
CGContextConcatCTM(pdfContext, transform);
// moving the table to an arbitrary position for testing, nothing happens in the PDF - view itself is updated
self.itemsTableView.frame = CGRectMake(100, 100, self.view.bounds.size.width, self.view.bounds.size.height);
[self.itemsTableView.layer renderInContext:pdfContext];
CGContextEndPage (pdfContext);// 8
CGContextRelease (pdfContext);
}