Iphone 过卷时如何删除顶部UIWebView上的灰色阴影?
我使用UIWebView显示一个简单的HTML页面。当我滚动页面(在顶部或底部)时,后面会出现灰色阴影!! 我可以消除或避免这种不良影响吗 Thx 附言。Iphone 过卷时如何删除顶部UIWebView上的灰色阴影?,iphone,objective-c,uiwebview,Iphone,Objective C,Uiwebview,我使用UIWebView显示一个简单的HTML页面。当我滚动页面(在顶部或底部)时,后面会出现灰色阴影!! 我可以消除或避免这种不良影响吗 Thx 附言。 UIWebView,视图容器,都是背景清晰且不透明的否 这是不可能的!在web上,有一些解决方案使用私有的apple方法(未记录的api和函数)。因此,苹果可以拒绝你的应用程序。阴影属于UIImageView类。您可以循环浏览UIWebView的第一个子视图的视图,只需隐藏与UIImageView匹配的任何视图 id scrollview =
UIWebView,视图容器,都是背景清晰且不透明的否 这是不可能的!在web上,有一些解决方案使用私有的apple方法(未记录的api和函数)。因此,苹果可以拒绝你的应用程序。阴影属于
UIImageView
类。您可以循环浏览UIWebView
的第一个子视图的视图,只需隐藏与UIImageView
匹配的任何视图
id scrollview = [webView.subviews objectAtIndex:0];
for (UIView *subview in [scrollview subviews])
if ([subview isKindOfClass:[UIImageView class]])
subview.hidden = YES;
免责声明:视图层次结构将来可能会更改,这将无法工作,从而导致阴影恢复。将uiwebview置于uiscrollview并禁用uiwebview滚动。您可以这样做 webView.backgroundColor=[UIColor clearColor]; 然后在背景上看到一个漂亮的UIImageView
这很简单。看看这个对我有用
UIScrollView*scrollview=[webView.subviews objectAtIndex:0]代码>
scrollview.bounces=NO代码>
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;
}
此解决方案不会被拒绝
for (UIView *view in self.webView.scrollView.subviews) {
if ([view isKindOfClass:[UIImageView class]]) {
view.hidden = YES;
}
}
为什么苹果会拒绝这种方法,因为没有未记录的和私有的部分:)
找到任何视图,检查它们的类,然后隐藏。。。
您不能删除或重写方法。。
您没有修改(重写)对象的任何部分。。。仅隐藏,不?对于不需要滚动的情况下的任何人,因为所有内容都适合,在UIWebView上调用sizeToFit方法将消除这些阴影。是否尝试过我的代码?我不明白为什么苹果会否认它或者有办法检测它,因为它没有调用任何私有API。你的解决方案很好!我很早就试过了。我指的是基于Web的其他解决方案:)我将您的代码放在viewDidLoad上,但不起作用。[子视图是KindofClass:[UIImageView类]]可能更正确,但Undolog给出了正确的答案。谢谢,我将其更新为“更正确”。)也不需要第一行,因为您可以直接访问scrollView
,因此循环可以更改为:for(UIView*subview在[webView.scrollView子视图中])
阴影在iOS 5中返回,该属性只是webView.scrollView,只是使其无法滚动。你还没有移除恼人的阴影。为什么他们把这个愚蠢的阴影放进去,却没有提供一种方法来移除它呢?我无法理解。阴影仍然会存在。我认为这是最好的解决方案!