[英]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.