我在UIViewController上创建了一个名为UIViewController+CustomNavigationBar
的类别,可以通过三行代码轻松处理自定义设计的UINavigationBar子类的显示和删除!
然而,我遇到的一个问题是,当我弹出显示我的自定义导航栏的视图控制器时,前一个视图控制器的库存UINavigationBar的titleView的垂直居中显示不正确。
由于这有点难以描述,因此这里是该问题的动画GIF的链接:https://github.com/kenmhaggerty/UIViewController-CustomNavigationBar/blob/demo/Sample%20Project/Issue%20Demo.gif
我在代码中做了很多,所以我也posted it to GitHub。一些关键点是:
[self.navigationController setValue:navigationBar forKeyPath:NSStringFromSelector(@selector(navigationBar))]
和-[viewWillAppear:]
的混合实施中使用-[viewWillDisappear:]
设置了自定义UINavigationBar。navigationItem.titleView
为零,因此我无法(貌似)手动调整标题视图的帧。知道为什么会出现这种奇怪的布局问题吗?此外,还有其他不一致之处,所以如果你有时间,请做叉子+检查。
答案 0 :(得分:0)
我通过使用新的UINavigationBar实例重新设置导航栏解决了这个问题!