我正在尝试在following image上显示的导航栏上方添加自定义视图。
这本身就是一种糟糕的方法吗?
答案 0 :(得分:0)
如果这是一个将显示在应用中所有导航栏上方的视图,为什么不使用容器视图?
使容器视图填满屏幕,但为其提供20点的上边距以适合您的自定义绿色视图。然后,当您将主视图控制器(包含在导航视图控制器中)添加到容器视图时,它将在其上方显示您的绿色视图。
如果您不想在特定屏幕中显示保证金,请执行以下操作: 向上边距添加约束并为其添加插座,以便您可以在代码中修改约束的常量。 然后,在您不需要边距的任何屏幕中,访问父视图控制器视图并将约束常量设置为零。
let myParentViewController = self.parentViewController as? MyParentViewController
myParentViewController.myTopMarginLayoutConstraint.constant = 0
当你再次进入需要上边距的屏幕时,不要忘记将其重置为20(或其他)。