Ios 如何在ViewController中加载多个PDF文件

Ios 如何在ViewController中加载多个PDF文件,ios,iphone,pdf,uiwebview,Ios,Iphone,Pdf,Uiwebview,我有4个PDF文件存储在Xcode本地。我想将所有PDF放入一个数组中,然后在UITableView中显示它们。当用户选择其中任何一个时,它应该在下一个ViewController中打开。以下是显示一个PDF文件的示例代码,但我需要列出多个PDF文件: NSURL *targetURL = [NSURL URLWithString:@"http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIWebView

我有4个PDF文件存储在Xcode本地。我想将所有PDF放入一个数组中,然后在
UITableView
中显示它们。当用户选择其中任何一个时,它应该在下一个
ViewController
中打开。以下是显示一个PDF文件的示例代码,但我需要列出多个PDF文件:

NSURL *targetURL = [NSURL URLWithString:@"http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIWebView_Class/UIWebView_Class.pdf"];
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
[webpage loadRequest:request];

请提供一些示例代码。

将PDF加载到
网页
对象的方式是一个良好的开端。要使此代码更具动态性以处理对象数组,您需要首先在视图控制器中实现
UITableViewDelegate
UITableViewDatasource
协议。接下来,您需要创建URL的
NSArray
,作为view controller类的实例属性。在.m文件中,将其添加到
@实现
部分上方:

@interface MyViewController ()
<
    UITableViewDataSource,
    UITableViewDelegate
>

@property NSArray *pdfFileUrls;

@end
假设文件URL包含文件名(如示例中所示),则可以使用此数组中的URL为表视图单元格创建标签。在
tableView:cellforrowatinexpath:
方法中,使用此代码分配标签:

static NSString* identifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];

NSString* theFileName = [[[self.pdfFileUrls objectAtIndex:[indexPath row]] lastPathComponent] stringByDeletingPathExtension]
cell.textLabel.text = theFileName;
最后,在
tableView:didSelectRowAtIndexPath:
方法中,您需要从数组中获取正确的URL:

self.pdfFileUrls = [NSArray arrayWithObjects:@"url1", @"url2", @"url2", @"url4", nil];
NSURL *targetURL = [NSURL URLWithString:[self.pdfFileUrls objectAtIndex:[indexPath row]]];
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
[webpage loadRequest:request];

如果您对此有任何疑问,请告诉我。

这里是预览文档的最佳方式

QLPreviewController
UIDocumentInteractionController
为预览PDF、Excel、PPTX、Word等文档提供了一个专门的视图。通过使用这些API,您可以全屏显示,也可以导航到下一页

看看下面的链接


您想一次显示所有PDF,还是只想显示名称并允许用户选择要打开的PDF?只想显示名称并允许用户选择要打开的PDF这四个文件是静态的,或者这是一个会改变的动态列表?仅静态我只想将此pdf添加到数组中并在tableview中显示它当用户选择pdf文件时应在uiviewcontroller中打开此工作流程您的答案部分正确,是否可以修改您的答案以从本地路径中的pdf获取名称我不确定您的意思?从URL中收集文件名的字符串应该为您这样做。你是说你事先不知道网址,但你是在抓取它们吗?你能给我更多关于到底发生了什么的信息吗?它会崩溃吗?或者它只是没有显示任何东西?这不是一个实际的方法,我没有给你方法。我给了您一些代码,让您把它们放在
viewDidLoad
tableView:CellForRowatineXpath:
tableView:DidSelectRowatineXpath:
方法中。