我想做的是在当前可见的视图控制器中,向我的 UINavigationController 的 UINavigationBar 添加一个自定义视图。
因此,我将要添加的子视图构建在一个容器视图中,并通过获取引用将该视图添加到导航栏中:
let navBar = navigationController?.navigationBar as UINavigationBar!
结果看起来像这样:
然而,当我在UINavigationController
堆栈中推送另一个视图控制器时,这个子视图也会存在于推出的视图控制器的UINavigationBar
中:
有什么最好的方法只将这个子视图添加到当前视图的UINavigationBar
中,并且不要让它在连续的视图控制器中持久存在?
viewWillAppear
中保存状态栏中的内容,并在viewWillDisappear
中恢复它们。很抱歉,我不确定这两种方法在 Swift 中的对应方法。但是思路是相同的。 - Ra1nWarden