我想隐藏滚动UIWebView时出现的原生滚动条/滚动条,但仍保持滚动功能不变。这可能吗?
提前致谢,
威廉
答案 0 :(得分:35)
似乎这个问题需要更新的答案:
您可以直接访问与Web视图关联的滚动视图。 (只读) 在iOS 5.0以上。 除非在特殊情况下,否则我认为开发人员不应该在iOS 5.0之前支持任何内容。
来自Apple开发者文档。
@property(nonatomic, readonly, retain) UIScrollView *scrollView
Discussion
Your application can access the scroll view if it wants to customize the scrolling behavior of the web view.
Availability
Available in iOS 5.0 and later.
Declared In
UIWebView.h
现在你可以直接写这样的东西:
webView.scrollView.showsHorizontalScrollIndicator = NO;
webView.scrollView.showsVerticalScrollIndicator = NO;
无需转到webView的子视图。
答案 1 :(得分:11)
UIWebView
不会直接从UIScrollView
继承,但您可以在UIScrollView
子视图中使用UIWebView
属性:
[(UIScrollView*)[webview.subviews objectAtIndex:0] setShowsHorizontalScrollIndicator:NO];
[(UIScrollView*)[webview.subviews objectAtIndex:0] setShowsVerticalScrollIndicator:NO];
不知道这是否可以接受,但它构建正常,我认为它应该可行。请报告这是否适合您。
另请考虑在bugreport.apple.com向Apple提交功能请求,以将此属性添加到将来的UIWebView
实施中。
答案 2 :(得分:5)
以这种方式做到:
for (id subview in self.myWebView.subviews) {
if ([[subview class] isSubclassOfClass: [UIScrollView class]]) {
((UIScrollView *)subview).bounces = NO;
((UIScrollView *)subview).showsVerticalScrollIndicator = NO;
((UIScrollView *)subview).showsHorizontalScrollIndicator = NO;
}
}
答案 3 :(得分:3)
在斯威夫特:
webView.scrollView.showsHorizontalScrollIndicator = false
webView.scrollView.showsVerticalScrollIndicator = false
答案 4 :(得分:0)
如果有人正在寻找快速解决方案,那么下面是 swift 3.0 的代码
yourWebView.scrollView.showsHorizontalScrollIndicator = false
yourWebView.scrollView.showsVerticalScrollIndicator = false
答案 5 :(得分:-1)
这里似乎有一个答案的开头:
http://discussions.apple.com/thread.jspa?threadID=1781730
如果您禁用用户互动,这似乎会删除滚动条(如果您显示的网页未超出屏幕高度,则可能没问题。)
一种javascript hack似乎也被描述了但是我没有掌握它:/(你需要访问你试图显示的网页,但这可能不是你的情况......)