实际上,我需要为我的项目中的所有交易制作 pdf 文件。所以我用 .xib 创建了 PDFViewController 类,其中包含 uiView、uitableView 等。
我没有向用户展示这个课程,我正在拍摄这个课程视图的屏幕截图,以便为所有交易制作 pdf。
我的问题是我可以拍摄屏幕截图视图和表格,但表格中有很多行,所以我需要滚动它以仅为表格视图拍摄屏幕截图,但它不能滚动。
请参阅下面的代码任何帮助将不胜感激。谢谢
@implementation PDFViewController
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier=@"PDFCustomCell";
PDFViewCustomCell *cell=(PDFViewCustomCell*)[tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (cell==nil)
{
NSArray *nib=[[NSBundle mainBundle]loadNibNamed:@"PDFViewCustomCell" owner:self options:nil];
cell=[nib objectAtIndex:0];
nib=nil;
}
//@autoreleasepool {
PDFPrint *pdfObj=[self.arrProducts objectAtIndex:indexPath.row];
cell.unitPrice.text=[currencyFormator stringFromNumber:[NSNumber numberWithDouble:[pdfObj.unitPrice doubleValue]]];
UIImage* img = [UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/%@/downloads/%@/files/%@.jpg",del.LocalPath,del.CompFolder,del.RepId,pdfObj.code]];
if(img!=nil)
[cell.imageView setImage:img];
else
[cell.imageView setImage:[UIImage imageNamed:@"no_privew95x77.jpg"]];
pdfObj=nil;
return cell;
//}
}
(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { NSLog(@"Array Count is = %i",[self.arrProducts count]); 返回 [self.arrProducts 计数];}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 1; }
(void)viewDidLoad { [超级 viewDidLoad];
NSString* strlogopath = [NSString stringWithFormat:@"%@/%@/%@",del.LocalPath,del.CompFolder,del.CompInfo.ImageName]; [self.imgLogo setImage:[UIImage imageWithContentsOfFile:strlogopath]]; strlogopath = nil; [自填数据];
} -(void)filldata { //这里我正在从 arrProduct NSMutableArray 中的许多表中填充数据我已经删除了 StackOverflow 的行数以提高代码复杂性。我正在准确地获取 arrProduct 中的数据。
[self.arrProducts addObject:pdfData]; [SQLHelper finalizeStatement:stmt]; } @catch (NSException *exception) { NSLog(@"%@",exception.description); } @finally { [SQLHelper disconnectDB:database]; }
}
@结尾
// CurrentTransaction.m // 在 currentTransaction.m 我没有添加 self.pdfViewController 视图,因为我不需要显示它。我只需要截屏然后需要制作pdf文件问题是我不能滚动表格来截取下一行的屏幕截图。
- (UIView *)loadTemplate:(PrintChoice_t)type { if (type==Small_Photo) { self.pdfViewController=[[PDFViewController alloc]initWithNibName:@"PDFViewController" bundle:[NSBundle mainBundle] ReferenceController:& self]; } 返回 self.pdfViewController.view; }
//someWhere 在这个类中我正在调用
[self.pdfViewController.tblProd scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:14 inSection:0] atScrollPosition:UITableViewScrollPositionNone 动画:NO];
//但是 scrollToRowAtIndexPath 没有在 PDFViewController 中调用 CellForRowAtIndexPath。我只能看到调试信息 14 行可见 0 位置 14 行。