【发布时间】:2011-10-24 18:32:30
【问题描述】:
我在加载本地内容的视图控制器中有一个 UIWebView。我正在拦截某些链接以在模式视图中加载。当单击其中一个链接并在我的 shouldStartLoadWithRequest 委托方法中返回 NO 时,当前显示的内容将滚动到顶部。我需要阻止这种情况发生。
【问题讨论】:
我在加载本地内容的视图控制器中有一个 UIWebView。我正在拦截某些链接以在模式视图中加载。当单击其中一个链接并在我的 shouldStartLoadWithRequest 委托方法中返回 NO 时,当前显示的内容将滚动到顶部。我需要阻止这种情况发生。
【问题讨论】:
这不是最好的解决方案,但你可以试试这个:
打开模态前保存:
CGPoint Pos;
for (UIView *subview in webView.subviews)
{
if ([scrollView isKindOfClass:[UIScrollView class]])
Pos = scrollView.contentOfSet;
}
然后设置:
for (UIView *subview in webView.subviews)
{
if ([scrollView isKindOfClass:[UIScrollView class]])
[scrollView setContentOffset:Pos animated:YES];
}
【讨论】:
好的。所以问题不在于网络视图。它与 html/javascript 一起使用。我点击的链接有一个 href="#" 并在点击时调用了一个改变 document.location 的 javascript 方法。这是导致滚动的 href="#" 。我将其更改为 href="javascript: void(0);"我又回来做生意了。
【讨论】: