我正在开发一个具有单个大型UITableView的项目,所有单元格都转到另一个ViewController,每个都显示一个单独的PDF。但是,我想整合它,因此每个单元格都会加载一个PDF ViewController,它根据被挖掘的单元格加载相应的PDF。这是我到目前为止加载和显示PDF的代码。 在标题中:
@property (weak, nonatomic) IBOutlet UIWebView *pdfView;
主中的
- (void)viewDidLoad
{
[super viewDidLoad];
NSString *urlAddress = [[NSString alloc] init];
urlAddress = [[NSBundle mainBundle] pathForResource:@"PDF1" ofType:@"pdf"];
NSURL *url = [NSURL fileURLWithPath:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[self.pdfView loadRequest:requestObj];
}
如何修改此代码以使PDFViewController确定选择了哪个单元格,并加载相应的PDF? 谢谢, 尼克
答案 0 :(得分:0)
在PDFViewController
创建一个像@property(nonatomic, readwrite) NSString *selectedPDFUrl
;
在你的tableViewContoller中
有NSMutableArray *arrayOfPDFStrings;
并将所有URL添加到此数组。
当用户选择一个单元格'didSelectRowAtIndexPath copy that particular cell PDF url into the
PDFViewController objects
selectedPDFUrl`属性时;
-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
PDFViewController*pdfView=[[PDFViewControlleralloc]initWithNibName:@"PDFViewControllers" bundle:nil];
pdfView.selectedPDFUrl = [arrayOfPDfUrls objectAtIndex:indexPath.row - 1];
[self.navigationController pushViewController:cards animated:YES];
}
执行此操作后,您可以通过此变量selectedPDFUrl
访问该网址;
所以你应该做这样的事情
- (void)viewDidLoad
{
[super viewDidLoad];
NSString *urlAddress = [[NSString alloc] init];
urlAddress = [[NSBundle mainBundle] pathForResource:selectedPDFUrl ofType:@"pdf"];
NSURL *url = [NSURL fileURLWithPath: selectedPDFUrl];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[self.pdfView loadRequest:requestObj];
}