簡體   English   中英

iOS:隱藏UIWebView的某些部分

[英]iOS: Hide Certain Portion Of UIWebView

在一個測試iOS應用程序中,我添加了一個UIWebView來顯示網頁。 我想要的是不顯示此網頁的頁眉和頁腳。 頁眉和頁腳可以說幾乎100像素。 有什么辦法可以將這部分隱藏在UIWebView中嗎?

我已經嘗試過的是,我將StoryWebard中的UIWebView移到了導航欄后面100像素的位置。 這使得UIWebView的內容完全符合我的要求,但是如果用戶滾動並按住它以及彈跳時仍可以看到它。 因此,這不是一個好的解決方案。 我做的第二件事是禁用反彈效果,但這會使整個事情變得非常固定,這也不是一個好的解決方案。

如何在UIWebView的頂部和底部隱藏部分內容? 謝謝!

您可以通過執行JavaScript來隱藏頁眉/頁腳,該JavaScript通過CSS隱藏DOM元素,或者僅在文檔加載后將其刪除(在委托方法- (void)webViewDidFinishLoad:(UIWebView *)webView )。

說刪除標題元素:

NSString *js = @"var headerElement = document.getElementsByTagName('header')[0]; if(e){ e.remove(); }";
[webView stringByEvaluatingJavaScriptFromString: js];

或插入CSS以隱藏頁眉/頁腳:

NSString *js = @"var styleTag = document.createElement('style'); styleTag.innerText = "header, footer {display: none;}"; document.body.appendChild(styleTag);";
[webView stringByEvaluatingJavaScriptFromString: js];

然而,以上兩種方法在網頁被解析並顯示給用戶之后生效,因此用戶可能會注意到在短時間內顯示了頁腳和頁眉。

如果確實需要防止用戶看到頁眉/頁腳的閃爍,則應考慮將HTML內容加載為高級,然后將CSS插入內容中,然后通過調用UIWebView方法– loadHTMLString:baseURL:顯示網頁。

使用Java腳本,您可以實現它。 以某種方式限制Webview的滾動內容偏移量,使其在到達某個點時不會上升。

或者這也可能對您有幫助: iOS:檢測UIWebView到達頂部或底部

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM