UIScrollView里面的UIWebView上面的UIToolbar

Posted

技术标签:

【中文标题】UIScrollView里面的UIWebView上面的UIToolbar【英文标题】:UIToolbar above UIWebView inside UIScrollView 【发布时间】:2010-04-28 16:40:28 【问题描述】:

我想在 UIWebView 上方显示一个工具栏,但在用户“将其拉下”之前隐藏工具栏。

在 iPhone 上的 Safari 中可以看到相同的功能。当页面加载时,包含地址的工具栏被隐藏。你必须把它拉下来。在 Safari 中,可以向上滚动并最终看到工具栏或向下滚动页面内容。

我尝试在 UIScrollView 中放置 UIToolbar 和 UIWebView,但没有成功。 我尝试将 UIScrollView 设置为工具栏和 webview 组合的大小,但没有奏效。

- (void)viewDidLoad
    CGSize size = CGSizeMake(webView.frame.size.width,
                              toolBar.frame.size.height + webView.frame.size.height);
    [scrollView setContentSize:size];

我该怎么做呢?

编辑

任何看到这个的人都应该认为问题和接受的答案都是旧的,并且 API 可能已经更改以允许这样做。

【问题讨论】:

【参考方案1】:

UIWebView 本身就是一个 UIScrollView,所以它不会工作。我不确定 Apple 是如何做到的,但如果您可以控制 Web 视图的内容,那么一种方法是编写一些 html 和 CSS 来复制该地址栏。

【讨论】:

不幸的是,你是对的。 UIWebView 不仅包含滚动条,而且不提供直接访问它的权限。我最终放弃了,将 UIToolbar 和 UIWebView 一起添加到 UIView 中。 UIToolbar 总是可见的,但至少它是稳定的。 UIWebView 不是 UIScrollView UIWebView 不是 UIScrollView 的子类,但它确实符合 UIScrollViewDelegate 协议,因此在向其委托发送消息时可以像 UIScrollView 一样对待。 这个问题有什么解决办法吗?

以上是关于UIScrollView里面的UIWebView上面的UIToolbar的主要内容,如果未能解决你的问题,请参考以下文章

UIWebView 上的 UIScrollView 和 UITapGestureRecognizer 冲突

内部带有 UIWebview 的滞后 ScrollView

iphone: UIwebview 卷曲效果

UIScrollView 中的 UIImageView 和 UIWebView

UIScrollview 高度变化基于 Uiwebview 内容

UIWebView 在 UIScrollView 内消耗触摸事件