在UINavigationBar上添加视图

时间:2016-02-09 02:24:17

标签: ios

我正在尝试在following image上显示的导航栏上方添加自定义视图。

  • 到目前为止,我尝试将视图添加为导航栏的子视图 - 无法正常工作
  • 首先在“界面”构建器上添加自定义视图,然后手动添加导航栏 - 这似乎搞砸了我的导航,因为默认导航控制器有自己的导航栏。

这本身就是一种糟糕的方法吗?

1 个答案:

答案 0 :(得分:0)

如果这是一个将显示在应用中所有导航栏上方的视图,为什么不使用容器视图?

使容器视图填满屏幕,但为其提供20点的上边距以适合您的自定义绿色视图。然后,当您将主视图控制器(包含在导航视图控制器中)添加到容器视图时,它将在其上方显示您的绿色视图。

如果您不想在特定屏幕中显示保证金,请执行以下操作: 向上边距添加约束并为其添加插座,以便您可以在代码中修改约束的常量。 然后,在您不需要边距的任何屏幕中,访问父视图控制器视图并将约束常量设置为零。

let myParentViewController = self.parentViewController as? MyParentViewController
myParentViewController.myTopMarginLayoutConstraint.constant = 0

当你再次进入需要上边距的屏幕时,不要忘记将其重置为20(或其他)。