gpt4 book ai didi

iOS:隐藏 UIWebView 的某些部分

转载 作者:行者123 更新时间:2023-11-29 03:27:20 25 4
gpt4 key购买 nike

在测试 iOS 应用程序中,我添加了一个显示网页的 UIWebView。我想要的不是显示该网页的页眉和页脚。页眉和页脚大约有 100 像素。有什么方法可以在 UIWebView 中隐藏这部分吗?

我已经尝试过的是,我在 StoryBoard 中移动了 UIWebView,使得 100 像素位于导航栏后面。这使得 UIWebView 的内容看起来正是我想要的,但如果用户滚动并按住以及弹起时仍然可以看到它。所以这不是一个好的解决方案。我做的第二件事是禁用反弹效果,但这使得整个事情变得非常固定,而且它也不是一个好的解决方案。

如何隐藏 UIWebView 顶部和底部内容的某些部分?谢谢!

最佳答案

您可以通过执行 JavaScript 来隐藏页眉/页脚,该 JavaScript 通过 CSS 隐藏 DOM 元素,或者在文档加载后删除它们(在委托(delegate)方法中 - (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来显示网页: .

关于iOS:隐藏 UIWebView 的某些部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20297364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com