Ответ 1
Попробуйте
webview.scrollView.contentOffset = CGPointMake(0, 100);
Я хочу перейти к указанию строки в моем загруженном 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 в нижнюю часть страницы при загрузке представления. Но его полностью не работает, любая идея почему? Я делаю это неправильно?
Попробуйте
webview.scrollView.contentOffset = CGPointMake(0, 100);
Убедитесь, что вы установили контроллер вида, где ваш веб-просмотр является UIWebViewDelegate
, и объявите это в @interface
файла заголовка (.h).
[yourWebView setDelegate:self];
Затем в методе webViewDidFinishLoad:
введите этот код:
[yourWebView.scrollView scrollRectToVisible:CGRectMake(0, yourWebView.bounds.size.height + 100, 1, 1) animated:NO];