【问题标题】:Transparent UIToolBar over UIWebViewUIWebView 上的透明 UIToolBar
【发布时间】:2010-11-05 22:27:41
【问题描述】:

我希望有一个透明的UIToolBar 而不是UIWebView,以便用户获得更广阔的视野和概览。

但是,当我这样做时,您看不到页面底部。我曾考虑在底部设置一个偏移量,但这是不可信的,因为缩放级别可能会有所不同(并且每个像素的价值都会降低)。

如何使webView 滚动并停在UIToolBar 的顶部边缘?

【问题讨论】:

    标签: iphone objective-c uiwebview uitoolbar overlap


    【解决方案1】:

    您必须设置 contentInset 和 scrollIndicatorInsets。如果您不设置 scrollIndicatorInsets,滚动指示器将位于您的 UIToolbar 下方,看起来不正确。

    float toolbarHeight = toolbar.frame.size.height;
    
    UIEdgeInsets insets = webView.scrollView.contentInset;
    insets.bottom = toolbarHeight;
    [webView.scrollView setContentInset:insets];
    
    UIEdgeInsets indicatorInsets = webView.scrollView.scrollIndicatorInsets;
    indicatorInsets.bottom = toolbarHeight;
    [webView.scrollView setScrollIndicatorInsets:indicatorInsets];
    

    【讨论】:

      【解决方案2】:

      我通过在 UIWebView 的 UIScrollView 子视图中设置一个插图来修复它:

      for (id view in [webView subviews]){
          if ([view isMemberOfClass:[UIScrollView class]]){
              [(UIScrollView *)view setContentInset:UIEdgeInsetsMake(0, 0, 44, 0)];
          }
      }
      

      外观和效果都很棒!

      【讨论】:

        【解决方案3】:

        我尝试了 Emils 解决方案,但它不适用于 iOS7,因为它继承自 UIWebViewScrollView。因此,将他的代码修改为以下内容:

        for (id view in [self.webView subviews]){
            if ([view respondsToSelector:@selector(setContentInset:)]){
                [(UIScrollView *)view setContentInset:UIEdgeInsetsMake(0, 0, 44, 0)];
            }
        }
        

        【讨论】:

          【解决方案4】:

          听起来您不希望 UIToolbar 与您的 UIWebView 重叠。相反,您希望设置它们的框架,以便 UIWebView 仅扩展到 UIToolbar 开始的位置。

          如果您以编程方式设置这两个视图,只需将 UIWebView 框架的高度设置为其父级边界的大小 - UIToolbar 框架的高度。如果您在 InterfaceBuilder 中执行此操作,只需拖动 UIWebView 的底部边缘以调整其大小,使其停止在 UIToolbar 开始的位置,或在检查器中修改其框架。

          【讨论】:

          • 透明工具栏的全部意义在于显示它下面的东西。所以不,我不希望 UIWebView 停在工具栏的正上方。
          • 对不起,我想我不明白你在做什么。
          • 照片应用程序的排序,只是我希望“图像”的底部边缘能够滚动到工具栏的边缘! :)
          • 感谢您的努力!
          猜你喜欢
          • 2011-09-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-05-27
          • 1970-01-01
          • 2011-01-28
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多