Я испытываю некоторые затруднения с помощью UIWebView для рендеринга файлов PDF на iPad. Все хорошо работает в режиме портрета, но превращение устройства к среде производит странную визуальную причудливость. При увеличивании масштаб (но не) даже малейшее исправит его, но очевидно это не идеальное обходное решение.
Проблема происходит с любым файлом PDF (я попробовал несколько, все сохраненные локально в пакете, не полученном от сети). Я также создал клон проекта для iPhone, который, кажется, работает просто великолепно, таким образом, проблема является определенной для iPad. Проблема происходит оба в средстве моделирования, а также на физическом iPad.
http://dev.boxkite.net/images/ipad/ipad-pdf.png
NSString* filePath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"pdf"];
NSData* data = [NSData dataWithContentsOfFile:filePath];
[self.webView
loadData:data
MIMEType:@"application/pdf"
textEncodingName:@"UTF-8"
baseURL:nil];
Большое спасибо за Ваше время.
Единственный способ решить эту проблему - при повороте/изменении размера UIWebView снова вызывать loadData:. Это займет около секунды (в зависимости от размера файла), но на данный момент это не является ужасным решением. Это, конечно, намного лучше, чем повторный вызов loadRequest:!
Ошибка была отправлена в apple и была одобрена. О дате исправления пока ничего не известно.
Это происходит и со мной, что меня действительно бесит. Кто-нибудь знает, известна ли об этой проблеме Apple? Похоже на проблему с их кодом, а не на то, что мы делаем не так. Единственный способ, который я нашел, это исправить, - это сказать UIWebView перезагрузить PDF-файл после изменения ориентации - определенно не идеально (особенно с большими PDF-файлами) - и даже тогда визуальная резкость остается в течение доли секунды, прежде чем появится правильная версия. .
Единственный способ исправить рендеринг - это вызвать перезагрузку UIWebView, но это некрасиво.