当前位置:  开发笔记 > Android > 正文

iPhone - 是否可以在UIWebView中隐藏原生滚动条?

如何解决《iPhone-是否可以在UIWebView中隐藏原生滚动条?》经验,为你挑选了3个好方法。

我想隐藏滚动UIWebView时出现的本机滚动条/滚动条,但仍保持滚动功能不变.这可能吗?

提前致谢,

威廉



1> Amogh Talpal..:

看来这个问题需要一个更新的答案:

您可以直接访问与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的子视图.



2> Alex Reynold..:

UIWebView不直接继承UIScrollView,但您可以UIScrollViewUIWebView子视图上使用属性:

[(UIScrollView*)[webview.subviews objectAtIndex:0] setShowsHorizontalScrollIndicator:NO];
[(UIScrollView*)[webview.subviews objectAtIndex:0] setShowsVerticalScrollIndicator:NO];

不知道这是否可以接受,但它构建良好,我认为它应该工作.请报告这是否适合您.

还可以考虑在bugreport.apple.com上向Apple提交功能请求,以将此属性添加到将来的UIWebView实现中.


此代码适用于iOS 4.0 - 5.0,但不适用于iOS 3.1.3.在iOS 4.0-5.0中,"[webview.subviews objectAtIndex:0]"返回_UIWebViewScrollView的实例,可以将其转换为UIScrollView,但在iOS 3.1.3中,它返回UIScroller的实例,无法转换为UIScrollView.

3> Christian Ha..:

这样做:

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;  
    }
}

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有