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