繁体   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