UIWebView在UITabBarController底部切断

时间:2014-04-01 09:47:12

标签: ios objective-c uiwebview uitabbarcontroller uitabbar

我的应用程序底部有一个UITabBarController,对于一个视图,我想显示很多组件,我有一个UIWebView,在底部我有UITabBarController。我的问题是我的UIWebView被我UITabBarController的底部切断了,因为在我的.xib我的UIWebView占用了剩下的所有空间。

如何以编程方式解决我的WebView知道何时必须停止显示(就在UITabBarController的顶部之前)?我想要一个IOS6 / 7的解决方案。

非常感谢!

2 个答案:

答案 0 :(得分:5)

您可以将底边插入设置为webView.scrollView。

像:

self.webView.scrollView.contentInset = UIEdgeInsetsMake(0.0f, 0.0f, *tabbar_height*, 0.0f);

答案 1 :(得分:2)

Kirvoblotsky建议的解决方案适用于iOS 7.0,但不适用于iOS 7.1。在iOS7.1上,您的Web视图将在底部标签栏的顶部添加一个插页。

在包含Web视图的视图控制器中,您需要添加此修改:

-(void) viewDidLoad {
    ...
    // put this IF statemenet in the end
    if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")) {
        [self setEdgesForExtendedLayout:UIRectEdgeNone];
    }
}

如果你不这样做那么你需要在设置contentInset时执行if语句:

if (*iOS version == 7.1*) {
    self.webView.scrollView.contentInset = UIEdgeInsetsMake(0.0f, 0.0f, 0.f, 0.0f);
} else if (*iOS version == 7.0) {
    self.webView.scrollView.contentInset = UIEdgeInsetsMake(0.0f, 0.0f, *tabbar_height*, 0.0f);
}