Отображение многостраничного PDF в UIWebView (без рывков): как Safari это делает? - PullRequest
2 голосов
/ 21 января 2011

Если я загружаю PDF-файл в UIWebView:

if (!bundle)
    bundle = [NSBundle mainBundle];

NSString *filePath = [bundle
                      pathForResource:fileName ofType:@"pdf"];

UIWebView *webView = [[[UIWebView alloc] initWithFrame:view.bounds] autorelease];
webView.scalesPageToFit = YES;
[view addSubview:webView];


NSURL *pdfURL = [NSURL fileURLWithPath:filePath];

NSURLRequest *request = [NSURLRequest requestWithURL:pdfURL];
[webView loadRequest:request];

, приложение работает так же, как Mobile Safari, за исключением случаев, когда необходимо выполнить подкачку страниц:

Mobile Safari страницы без паузы, показывающие части, которые он отображает как шахматную доску. UIWebView , напротив, останавливает движение и, в конце концов, дергает на новую позицию.

MobileSafari работает хорошо, а UIWebView неприемлемо.Какие еще есть варианты отображения многостраничного PDF?Или мне нужно обрабатывать многостраничный аспект самостоятельно, используя CGPDFPageRef?

1 Ответ

1 голос
/ 21 января 2011

РЕДАКТИРОВАТЬ Просто понял, что ссылка относится к программированию OS X, а не iOS. К сожалению.

Здравствуйте,

Я опробовал некоторый похожий код, с которым столкнулся, поэтому определенно есть какая-то разница между браузером и UIWebView.

Исследуя проблему, я могу обратиться к этой теме SO : " PDF в производительности веб-просмотра " Я думаю, что последнее сообщение может вам помочь.

РЕДАКТИРОВАТЬ 2:

Решение, которое я бы использовал, - преобразовать ваш PDF в изображение и загрузить его в виде изображения с помощью прокрутки. Первоначально загрузка может занять некоторое время, но действие прокрутки будет плавным и не будет отставать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...