2011-10-24 116 views
2

我在視圖控制器中加載了一個UIWebView加載本地內容。我攔截某些鏈接以加載模式視圖。當單擊其中一個鏈接並在我的shouldStartLoadWithRequest委託方法中返回NO時,我當前顯示的內容將滾動到頂部。我需要阻止這種情況發生。UIWebView當點擊其他鏈接時滾動到頂部

回答

0

它不是最好的解決辦法,但你可以試試這個:

保存之前打開模式:

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]; 
} 
+0

這似乎沒有幫助,並且只能在iOS 5中使用。這個問題似乎只在我提出模態視圖時纔會發生。我正在捕捉Web視圖的shouldLoadRequest委託方法中的鏈接,並返回NO。這似乎導致網頁視圖滾動到頂部。我需要它保持它的位置。 – smokingoyster

+0

scrollsToTop自2.0開始可用,您可以嘗試setContentOffset:animated:too – gfdgfd

+0

對不起,scrollsToTop自2.0開始可用,但您只能從5.0開始訪問Web視圖的scrollView。我試圖停止滾動瀏覽網頁視圖。這聽起來像你指示我讓它滾動。基本上問題在於,無論何時單擊鏈接,內容都會自動滾動到頂部。我需要讓它保持在鏈接被點擊的位置。我已經從shouldStartLoadWithRequest方法返回NO,所以我不確定是什麼原因導致滾動或如何停止它。我無法禁用滾動,因爲我需要用戶滾動。 – smokingoyster

0

確定。所以這個問題不是網絡視圖。這是與HTML/JavaScript。我點擊的鏈接有一個href =「#」,並在點擊改變document.location時調用javascript方法。這是導致滾動的href =「#」。我將它改爲href =「javascript:void(0);」我又回來了。

相關問題