导航控制器显示时,根子视图的大小不正确

Root child view not sized properly when displayed by navigation controller

我在导航控制器中有一个不符合正确长度的根视图,我不知道如何使用 IB 修复它。 Here 是一个显示正在发生的事情的短片(视频中显示的属性检查器是与此问题相关的导航控制器)。

下面显示了视图层次结构,我认为是问题所在的视图以蓝色标出。它没有延伸到底部,这就是为什么我扣除黑色条显示在它下面的原因。有什么建议吗?

编辑:试试这个设置

在选项卡栏中嵌入条目视图,然后在导航控制器中嵌入视图并将按钮切换到下一个视图(需要 +1 更多 post 图片 :( )

嘿伙计,这里有一些疯狂的猜测。以前遇到过这个问题但是...

1.Have 你设置了自动布局? 2.Also 你的子视图控制器是什么,它只是一个通用视图控制器吗?

3.what 是您使用的 segue 吗? 4. 你有没有把它嵌入到导航视图控制器中?

为了解决这个问题,我使用了视图调试器来捕获另一个正常工作的导航推送 segue 和这个的视图层次结构。这告诉我黑色矩形区域是为显示 UIToolbar 保留的。由于您无法隐藏或显示当前使用 IB 的工具栏,因此我找到了 this answer,然后将其翻译为 Swift。我将以下代码放在我的子 UIViewController 中:

override func viewWillAppear(animated: Bool) {
    self.navigationController?.setToolbarHidden(true, animated: false)
}

这消除了黑色矩形。