Как перейти на страницу PDF в UIWebView? - PullRequest
2 голосов
/ 14 сентября 2011

Я пытаюсь прокрутить pdf файл по странице

вот мой код

-(void)viewDidLoad{

NSString *path = [[NSBundle mainBundle] pathForResource:@"myPdffile" ofType:@"pdf"];

NSURL *url = [NSURL fileURLWithPath:path];

NSURLRequest *urlrequest = [NSURLRequest requestWithURL:url];

[webview loadRequest:urlrequest];

webview.scalesPageToFit = YES;

[super viewDidLoad];

}

//goto next page

-(IBAction)nextpage{

        [webview stringByEvaluatingJavaScriptFromString: ?????? ];
}

//goto previous page

-(IBAction)prevpage {

       ?????
}

что мне поставить после stringByEvaluatingJavaScriptFromString?

сделать япоставить тот же код в "prevpage"?

спасибо!

Ответы [ 3 ]

3 голосов
/ 29 декабря 2011

В iOS 5 вы можете использовать это утверждение для перехода по страницам

[[webView scrollView] setContentOffset:CGPointMake(0,y) animated:YES];

, а ниже iOS 5 вы можете использовать это утверждение

[webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"window.scrollTo(0.0, %f)", y]];

Где y - высота, где вы 'Мы собираемся прыгнуть.

Здесь я пишу пример кода для следующей и предыдущей страницы

-(IBAction) nextPage: (id) sender
{
    if (currentPage < numberOfPages) 
    {
        float y =  pageHeight * currentPage++;

        if (isIOSAbove4) 
        {
            [[webView scrollView] setContentOffset:CGPointMake(0,y) animated:YES];
        }
        else
        {
            [webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"window.scrollTo(0.0, %f)", y]];
        }
    }
}

Для предыдущей страницы:

-(IBAction) prevPage: (id) sender
{   
    if (currentPage - 1)
    {
        float y = --currentPage * pageHeight - pageHeight;
        if (isIOSAbove4) 
        {
            [[webView scrollView] setContentOffset:CGPointMake(0,y) animated:YES];
        }
        else
        {
            [webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"window.scrollTo(0.0, %f)", y]];
        }
    }
}

в приведенном выше примере кода isIOSAbove4определяется в pch файле

#define isIOSAbove4 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 5.0)

Надеюсь, что приведенный выше код решит вашу проблему

0 голосов
/ 23 сентября 2013

Я столкнулся с аналогичной проблемой, в которой мне пришлось перейти к определенной странице в PDF (которая отображается с помощью UIWebView) при выборе ячейки в tableView (миниатюра tableview).

Итак, я написал фрагмент кода, который позволяет вам прокручивать до определенной страницы в PDF. Это работает, даже если PDF находится в увеличенном состоянии. Вы можете найти код здесь .

0 голосов
/ 20 сентября 2011

Я не верю, что есть способ сделать это, в других веб-браузерах / средствах просмотра PDF вы можете использовать параметр querystring для? Page = 6, но это не поддерживается механизмом WebKit PDF

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