Ios 如何在ViewController中加载多个PDF文件
我有4个PDF文件存储在Xcode本地。我想将所有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
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:
方法中。