iOS是否有可能观察者改变导航栏的高度?

时间:2014-03-21 09:22:25

标签: ios objective-c uinavigationbar

我有一个带两个按钮的viewController

按钮1:

当导航栏调整大小以获得提示时设置提示文本和注意事项 - 向他添加子视图

按钮2:

显示下一个viewcontroller,并且该viewcontroller上没有设置提示文本。

导航栏调整大小,但仍然有子视图。

我可以手动删除自定义视图,但我想只在导航栏调整到正常大小而没有提示时才这样做。

你可以在下面的图片中看到

enter image description here

Navbar调整大小,并在自定义视图上显示后退箭头 - 此处我想隐藏自定义视图。

1 个答案:

答案 0 :(得分:1)

在MainViewController @implementation之后和@end之前将此代码放在MainViewController.m中

- (void)viewDidLayoutSubviews{

    if ([self respondsToSelector:@selector(topLayoutGuide)]) // iOS 7 or above
    {
        CGFloat top = self.topLayoutGuide.length;
        if(self.webView.frame.origin.y == 0){
            // We only want to do this once, or if the view has somehow been "restored" by other code.
            self.webView.frame = CGRectMake(self.webView.frame.origin.x, self.webView.frame.origin.y + top, self.webView.frame.size.width, self.webView.frame.size.height - top);
        }
    }
}