自定义 UINavigationBar 显示后,默认 UINavigationBar titleView 框架不正确

Default UINavigationBar titleView frame incorrect after custom UINavigationBar display

我在 UIViewController 上创建了一个名为 UIViewController+CustomNavigationBar 的类别,只需三行代码即可轻松处理 custom-designed UINavigationBar 子类的显示和删除!

但是,我遇到的问题之一是,当我弹出显示我的自定义导航栏的视图控制器时,前一个视图控制器的常用 UINavigationBar 的 titleView 的垂直居中显示不正确。

由于这有点难以描述,这里有一个 link 这个问题的 GIF 动画:https://github.com/kenmhaggerty/UIViewController-CustomNavigationBar/blob/demo/Sample%20Project/Issue%20Demo.gif

我在代码中做了很多工作,所以我也 posted it to GitHub。不过,一些关键点是:

知道为什么会出现这种奇怪的布局问题吗?另外,还有其他不一致的地方,有空的话请fork + check一下

我通过使用 UINavigationBar 的新实例重新设置导航栏解决了这个问题!