uiwebview 中的滚动条

Posted

技术标签:

【中文标题】uiwebview 中的滚动条【英文标题】:Scrollers in uiwebview 【发布时间】:2011-07-11 01:23:49 【问题描述】:

我有一个网络视图。我已经启用了 webview 的滚动功能。当我滚动 webview 时会显示滚动条。

但我需要显示滚动条,即使我没有滚动以指示在此视图中可以滚动。

这可能吗??

【问题讨论】:

【参考方案1】:

我认为强制滚动条显示是不可能的,因为它是苹果用户体验理念的一部分。

【讨论】:

【参考方案2】:

好吧,这可能是不可能的,但如果您的目的只是让用户知道这是一个可滚动的视图,您可以在加载网页时让他们看到它,强制 webContent 从 position.y + 100 滚动到顶部最佳。您可以获取 UIWebView 使用的 UIScrollView 并滚动它...

在你的 UIViewController 中添加这个:

- (void)webViewDidFinishLoad:(UIWebView *)wwwebView 
    UIScrollView *myUIWebScrollView = (UIScrollView*)[wwwebView.subviews objectAtIndex:0];
    [myUIWebScrollView setContentOffset:CGPointMake(0, 100) animated:NO];
    [self performSelector:@selector(scrollUp:) withObject:wwwebView afterDelay:0.4];


- (void)scrollUp:(UIWebView*)aWebView
    UIScrollView *myUIWebScrollView = (UIScrollView*)[aWebView.subviews objectAtIndex:0];
    [myUIWebScrollView setContentOffset:CGPointMake(0, 0) animated:YES];


你的 UIViewController 必须是 UIWebViewDelegate 所以添加 .h 文件:

    @interface yourWebViewController : UIViewController <UIWebViewDelegate> 

    

- (void)scrollUp:(UIWebView*)aWebView;

【讨论】:

@dsc:当然……不适合你?你必须把它放在 UIViewController 中,它使用 UIWebView 加载和控制视图......正如我所说的,它必须是一个 UIWebViewDelegate ......也许你在分配并添加到 subView 时没有设置 UIWebView 的委托属性: 代码: yourWebView.delegate = self; 我在 .h 文件中添加了 ,也在 .xib 文件中添加了我设置了委托而不是 yourWebView.delegate = self; @dsc: 然后 - (void)webViewDidFinishLoad:(UIWebView *)webView;每次在 UIWebView 中加载新页面时都应默认调用...放置一个 NSLog(@"i'm here!");检查它......如果它没有被调用(作为 UIWebViewDelegate 的其他方法......)那么其他地方有问题(委托链接......?),而不是代码本身......看看 UIWebViewDelegate 协议参考在 xCode 帮助中...

以上是关于uiwebview 中的滚动条的主要内容,如果未能解决你的问题,请参考以下文章

如何覆盖 UIWebView 中的滑动手势?

Firefox 中的隐藏滚动条(允许滚动但没有滚动条)

Firefox 中的隐藏滚动条(允许滚动但没有滚动条)

怎样隐藏横向滚动条

html定位整个滚动条在页面中的位置

有没有人使用水平滚动条中的“滚动箭头”来滚动位置?