【问题标题】:UIWebView: how to hide part of the content of a webpage?UIWebView:如何隐藏网页的部分内容?
【发布时间】:2012-02-28 22:53:06
【问题描述】:

在我的应用程序中,我有一个仅用于显示 facebook 页面的 webview。 但是,客户不希望出现 facebook 的顶部蓝条;他想隐藏它。 有没有办法做到这一点? 该栏是 45 像素,所以我所做的是我在 IB 中移动 UIWebView,使其顶部 45 像素位于我的导航栏后面(因此没有出现)。 但是,这不是一个理想的解决方案,因为用户可以在向上滚动时看到该内容,然后再弹跳。他可以看到但不能触摸它,这会让一些用户感到沮丧。 我尝试关闭弹跳,但是 UI 变得过于僵硬,而且不流畅。 我在 Google 和 Stackoverflow 中查找了几个小时,但没有找到解决方案。

非常感谢!

【问题讨论】:

    标签: objective-c ios uiwebview


    【解决方案1】:

    您必须编辑页面本身的 HTML/CSS 以隐藏有问题的 HTML 元素,可能使用正则表达式,并使用 loadHTMLString:baseURL: 将其输入您的 UIWebView。

    我之前做过类似的操作,但它确实有效,但是...当相关网页不属于您时,情况就不同了。每当 Facebook 更新其布局时,您的应用行为可能会发生变化,直到您有时间批准应用更新。客户想要他们想要的,但要确保您的客户知道他的要求!

    【讨论】:

    • 谢谢贾纳丹!很抱歉这个可能是愚蠢的问题(我对 HTML/CSS 几乎一无所知),但是如何编辑 Facebook 网站的 HTML/CSS?我显然无法编辑他们网站本身的 HTML,所以我想在我的 UIWebView 上加载该页面时我必须进行此编辑。如果是这种情况,我应该使用哪个方法或属性(在 iOS SDK 中)?
    • 屏蔽其他人网站的部分是否存在法律问题?
    • 问你的律师是个好问题。 :) 最低限度来说,可读性和类似服务似乎继续存在。
    【解决方案2】:

    首先测试用于隐藏网页中任何元素的 javascript 代码,然后传递给 UIWebViewstringByEvaluatingJavaScriptFromString 来运行它。

    【讨论】:

      猜你喜欢
      • 2022-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多