我是Objective-C和iOS开发的新手。我无法在UIWebView中显示本地pdf文件。我正在设置一个数组来保存文件名,然后在UIWebView中显示它们。任何帮助将不胜感激!
来自MasterViewController.m :(设置pdf文件名数组)
[mCommands addObject:[[NSDictionary alloc]
initWithObjectsAndKeys:@"Break",@"name",@"cmd_break.pdf",@"url",nil]];
[mCommands addObject:[[NSDictionary alloc]
initWithObjectsAndKeys:@"Close",@"name",@"cmd_close.pdf",@"url",nil]];
来自DetailViewController.m :(在UIWebView中显示pdf文件)
NSString *filename = [self.detailItem objectForKey:@"name"];
NSString *path = [[NSBundle mainBundle] pathForResource:filename ofType:@"pdf"];
NSURL *detailURL = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:detailURL];
[self.detailWebView loadRequest:request];
答案 0 :(得分:2)
将pdf加载到视图中的代码。
但是文件路径可能是错误的。当你使用:
[[NSBundle mainBundle] pathForResource:filename ofType:@"pdf"];
它只需要文件名,它会附加类型字符串。所以你可能会得到一个以结尾的结果 cmd_break.pdf.pdf
通过以下方式验证:
NSString *filename = [self.detailItem objectForKey:@"url"];
NSString *path = [[NSBundle mainBundle] pathForResource:filename ofType:@"pdf"];
NSLog(@"%@", path);
是的,正如Richard J. Ross III指出的那样。你在字典中使用了错误的密钥。 “name”-key将为您提供“Break”,而“url”-key将为您提供“cmd_break.pdf”。