【问题标题】:How to remove grey shadow on the top UIWebView when overscroll? [duplicate]过度滚动时如何去除顶部 UIWebView 上的灰色阴影? [复制]
【发布时间】:2010-02-10 17:26:04
【问题描述】:

我正在使用 UIWebView 来显示一个简单的 HTML 页面。当我滚动页面(顶部或底部)时,后面会出现阴影灰色! 我可以消除或避免这种不良影响吗?

谢谢

附: UIWebView,View 容器,都是背景透明不透明 NO!!

【问题讨论】:

  • 为什么他们把这个愚蠢的影子放进去却没有提供去除它的方法是我无法理解的。

标签: iphone objective-c uiwebview


【解决方案1】:

阴影属于UIImageView 类。您可以遍历UIWebView 的第一个子视图的视图,并隐藏与UIImageView 匹配的所有视图。

id scrollview = [webView.subviews objectAtIndex:0];    
for (UIView *subview in [scrollview subviews])
  if ([subview isKindOfClass:[UIImageView class]])
   subview.hidden = YES;

免责声明:视图层次结构将来可能会发生变化,这将导致阴影再次出现。

【讨论】:

  • 我把你的代码放在 viewDidLoad 上,但不起作用。
  • [subview isKindOfClass:[UIImageView class]] 会更正确,但是Undolog给出了正确的答案。
  • 谢谢,我将其更新为“更正确”。 :)
  • 第一行也不需要,因为你可以直接访问scrollView,所以循环可以改为:for (UIView *subview in [webView.scrollview subviews])
  • 阴影在 iOS 5 中回归
【解决方案2】:

看看这个对我有用..

UIScrollView *scrollview = [webView.subviews objectAtIndex:0];
scrollview.bounces=NO;

【讨论】:

  • 该属性只是 webView.scrollView 并且只是使它无法滚动。你还没有消除烦人的影子。
【解决方案3】:
for (UIView *view in self.webView.scrollView.subviews) {
        if ([view isKindOfClass:[UIImageView class]]) {
            view.hidden = YES;
        }
    }

为什么苹果会拒绝这种方法,没有无证和私人部分:) 你找到任何视图,检查他们的班级,然后隐藏...... 您不是删除或重写方法.. 你没有修改(重写)对象的任何部分......只是隐藏,不是吗?

【讨论】:

  • 我认为这是最好的解决方案!
【解决方案4】:

这是不可能的!在网络上有一些使用私有苹果方法(未记录的 api 和函数)的解决方案。因此,Apple 可以拒绝您的应用。

【讨论】:

  • 你试过我的代码了吗?我不明白为什么 Apple 会否认它或有办法检测它,因为它没有调用任何私有 api。
  • 你的解决方案很好!我早点试试。我参考了基于 Web 的其他解决方案.. :)
【解决方案5】:

将 uiwebview 放在 uiscrollview 上并禁用 uiwebview 滚动。

【讨论】:

    【解决方案6】:

    你可以这样做。

    webView.backgroundColor = [UIColor clearColor]; 在后台输出一个漂亮的 UIImageView。

    这很简单。

    【讨论】:

    • 阴影仍然存在
    【解决方案7】:
    for (id subview in _webView.subviews)
                if ([[subview class] isSubclassOfClass: [UIScrollView class]]) {
                    for (UIView *scrollSubview in [subview subviews])
                        if ([[scrollSubview class] isSubclassOfClass:[UIImageView class]])
                            scrollSubview.hidden = YES;
                }
    

    此解决方案不会被拒绝。

    【讨论】:

      【解决方案8】:

      对于在这种不需要滚动的情况下的任何人,因为您的所有内容都适合,调用 UIWebView 上的 sizeToFit 方法将消除这些阴影。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-07-14
        • 1970-01-01
        • 2015-05-22
        • 2020-02-26
        • 2014-05-21
        • 2021-05-07
        • 2020-09-25
        • 1970-01-01
        相关资源
        最近更新 更多