【问题标题】:Adding subview leaves gap between subview and navigation bar添加子视图会在子视图和导航栏之间留下空隙
【发布时间】:2012-09-07 01:43:23
【问题描述】:

我有一个故事板,其视图包装在一个导航控制器中,底部有一个 UI 选项卡栏。我动态地将子视图添加到这个视图中,但是导航栏和子视图之间总是有一个空行,看起来是状态栏的宽度。在情节提要上创建的每个子视图上,我将它们的模拟指标设置为底部栏作为选项卡栏,状态栏设置为无,顶部栏设置为导航栏。

下面是我添加子视图的代码:

    if(!self.homeViewController){
         self.homeViewController = [self.storyboardinstantiateViewControllerWithIdentifier:@"HomeView"];        
    }

    if(self.currentViewController != self.homeViewController)
    {            
        [self.view insertSubview:self.homeViewController.view belowSubview:self.tabBar];
        [self.currentViewController removeFromParentViewController];
    }

    self.currentViewController = self.homeViewController;

【问题讨论】:

  • 你在哪里定义这些对象的框架?
  • 好吧,我在情节提要中定义了所有视觉效果。
  • 你有想过这个吗?
  • 并非如此。我最终重做了我创建视图的方式。

标签: iphone ios xcode cocoa-touch ios5


【解决方案1】:

在 Storyboard 中定义的 homeViewController 上,将“Resize View From NIB”属性设置为 未勾选(默认勾选)。这解决了我的差距问题。

【讨论】: