2010-07-16 7 views
2

У меня возникли трудности с UIWebView, который показывает URL-адреса http правильно, но не вложенные .pdf-файлы.Не отображаются PDF-файлы, Другие URL-адреса

Я также читал альтернативные решения, такие как использование рамки QuartzCore, однако это, похоже, не поддерживает несколько страниц в PDF-файлах.

Вот код, который работает (для дот ком Google)

- (void)viewDidLoad 

{ 
[super viewDidLoad]; 

NSString *pdfPath = [[NSBundle mainBundle] pathForResource:@"file" ofType:@".pdf"]; 

NSURL *pdfURL = [NSURL URLWithString:pdfPath]; 

CGRect webFrame = [[UIScreen mainScreen] applicationFrame]; 
webFrame.origin.y += kTopMargin - 20.0; // leave from the URL input field and its label 
webFrame.size.height -= 00.0; 
self.webView = [[[UIWebView alloc] initWithFrame:webFrame] autorelease]; 
self.webView.backgroundColor = [UIColor whiteColor]; 
self.webView.scalesPageToFit = YES; 
self.webView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight); 
self.webView.delegate = self; 
[self.view addSubview: self.webView]; 

[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com"]]]; 
} 

И в PDF, я заменил

[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com"]]]; 

с

[self.webView loadRequest:[NSURLRequest requestWithURL:pdfURL]]; 

Мой немедленном мысль была что iPhone SDK не поддерживает просмотр PDF в своем веб-просмотре, однако tutorials like this one, похоже, показывает другим пользователям h добиваясь успеха с этим. Как вы думаете, я просто что-то пропустил в своем коде?

Спасибо.

+0

Так что происходит, когда вы запускаете код с помощью pdfURL? – willcodejavaforfood

+0

Я просто получаю белую страницу. Однако компилятор не дает мне никаких ошибок или предупреждений. –

ответ

3

UIWebView поддерживает PDF при использовании loadRequest, как вы это делаете.

pathForResource:@"file" ofType:@".pdf" 

Возьмите . из .pdf

Изменить на:

[NSURL URLWithString:pdfPath]; 

Использование fileURLWithPath: вместо.

Убедитесь, что pdfPath и pdfURL - это то, что вы ожидаете от них.

NSLog(@"%@" , pdfURL); 
+0

Фантастический, эти два изменения были именно то, что нужно. Спасибо! –

+0

@ajkochanowicz - Тогда, пожалуйста, отметьте этот ответ как правильный – willcodejavaforfood

Смежные вопросы