无法将UIWebView移动到iOS11(iPad)中的指定部分

时间:2017-09-05 06:23:59

标签: ios iphone ipad uiwebview ios11

我们已使用以下代码行移至网络视图:

[webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"window.location.hash=\'#-1\';"]];
[webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"window.location.hash=\'#%@\';", index]];

但不知何故,此代码不仅适用于iPad。以下是我初始化Web视图的方法:

webView = [[UIWebView alloc] initWithFrame:self.view.bounds];
[webView setDelegate:self];
[webView.scrollView setDelegate:self];
[webView setBackgroundColor:WHITECOLOR];
[webView setScalesPageToFit:YES];
[webView setTranslatesAutoresizingMaskIntoConstraints:NO];
[self.view addSubview: webView];

有人可以指导我如何调试它。

1 个答案:

答案 0 :(得分:0)

在iOS11中location.hash似乎已被打破,但它是一个简单的解决方案。 而是使用通常的组合:

location.hash = "";
location.hash = _some_hash_string_

使用下面的javascript:

var hashElement=document.getElementsByName(_some_hash_string_)[0];
if(hashElement) {
    hashElement.scrollIntoView();
} else { 
    // if the element is not found - scroll to top
    document.documentElement.scrollIntoView(); 
}