代码之家  ›  专栏  ›  技术社区  ›  Emil

UIWebView上的透明UIToolBar

  •  5
  • Emil  · 技术社区  · 14 年前

    我想要一个透明的 UIToolBar UIWebView ,以便用户获得更广泛的视角和概述。

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

    我怎样才能 webView 滚动并停止在 U工具栏

    4 回复  |  直到 14 年前
        1
  •  2
  •   Paul Peelen    11 年前

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

    for (id view in [self.webView subviews]){
        if ([view respondsToSelector:@selector(setContentInset:)]){
            [(UIScrollView *)view setContentInset:UIEdgeInsetsMake(0, 0, 44, 0)];
        }
    }
    
        2
  •  4
  •   sdsykes    11 年前

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

    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];
    
        3
  •  3
  •   Emil    14 年前

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

    看起来很不错!

        4
  •  0
  •   Ryan    14 年前

    听起来你不希望UIToolbar与UIWebView重叠。相反,您需要设置它们的框架,使UIWebView只扩展到UIToolbar的开始位置。