рендеринг iPad UIWebView PDF дает мне странные визуальные артефакты

Я испытываю некоторые затруднения с помощью 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];

Большое спасибо за Ваше время.

6
задан kennytm 18 April 2010 в 07:54
поделиться

4 ответа

Единственный способ решить эту проблему - при повороте/изменении размера UIWebView снова вызывать loadData:. Это займет около секунды (в зависимости от размера файла), но на данный момент это не является ужасным решением. Это, конечно, намного лучше, чем повторный вызов loadRequest:!

Ошибка была отправлена в apple и была одобрена. О дате исправления пока ничего не известно.

2
ответ дан 9 December 2019 в 22:31
поделиться

Я считаю, что это одна из многих ошибок симулятора.

1
ответ дан 9 December 2019 в 22:31
поделиться

Это происходит и со мной, что меня действительно бесит. Кто-нибудь знает, известна ли об этой проблеме Apple? Похоже на проблему с их кодом, а не на то, что мы делаем не так. Единственный способ, который я нашел, это исправить, - это сказать UIWebView перезагрузить PDF-файл после изменения ориентации - определенно не идеально (особенно с большими PDF-файлами) - и даже тогда визуальная резкость остается в течение доли секунды, прежде чем появится правильная версия. .

1
ответ дан 9 December 2019 в 22:31
поделиться

Единственный способ исправить рендеринг - это вызвать перезагрузку UIWebView, но это некрасиво.

1
ответ дан 9 December 2019 в 22:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: