Как установить положение прокрутки на uiwebview

Я хочу перейти к указанию строки в моем загруженном uiwebview. Я попробовал

[webView stringByEvaluatingJavaScriptFromString: @ "window.scrollTo(0.0, 100,0)" ];

но не работает. Мой веб-просмотр по-прежнему начинается с верхней части страницы. Мне просто интересно, потому что я загружаю UIWebview внутри UIView. Проверьте мой код ниже на UIView:

- (void)loadView {
    webview = [[WebViewDetail alloc]initWithFrame:[UIScreen mainScreen].applicationFrame];        //initialize a mainView is a UIWebVIew
    webview.managedObjectContext = self.managedObjectContext;
    webview.kitab = self.kitab;
    webview.currentPasal = self.pasal;
    self.title = [NSString stringWithFormat:@"%@ %d", self.kitab, webview.currentPasal];
    self.view=webview;    //make the mainView as the view of this controller    
}

и я поместил положение прокрутки script на мой UIWebview:

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    int height = [[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight;"] intValue];

    NSString* javascript = [NSString stringWithFormat:@"window.scrollBy(0, %d);", height];   
    [self stringByEvaluatingJavaScriptFromString:javascript];
}

В этом случае я хочу поместить мой uiwebview в нижнюю часть страницы при загрузке представления. Но его полностью не работает, любая идея почему? Я делаю это неправильно?

Ответы

Ответ 1

Попробуйте

webview.scrollView.contentOffset = CGPointMake(0, 100);

Ответ 2

Убедитесь, что вы установили контроллер вида, где ваш веб-просмотр является UIWebViewDelegate, и объявите это в @interface файла заголовка (.h).

[yourWebView setDelegate:self];



Затем в методе webViewDidFinishLoad: введите этот код:

[yourWebView.scrollView scrollRectToVisible:CGRectMake(0, yourWebView.bounds.size.height + 100, 1, 1) animated:NO];