UINavigationBar子类检测导航项标题何时更改

Jos*_*hua 5 objective-c uinavigationbar uinavigationcontroller ipad ios

我正在使用UINavigationBar的自定义子类,UINavigationController使用:initWithNavigationBarClass:toolbarClass:.

毋庸置疑,在这个子类中,我需要在所呈现的导航项的标题发生变化时监视和更新导航栏子类中包含的其他接口元素.我已经考虑过使用KVO并观察导航项title属性并在更改时更新,但我想知道是否有更好的方法.子类化UINavigationController可能会给我一些更多的余地来控制或监控这个功能吗?我很想听听你对这个问题的看法以及是否有更好的方法来解决这个问题?


详细说明:例如,我覆盖了一些方法layoutSubviews.在此方法中,当导航项刚刚被推入堆栈时,它还没有标题.这是因为标题是在视图控制器中设置的,在viewDidLoad加载尚未发生的视图之前不会执行.因此,即使已经按下导航项,标题仍然nil是在所呈现的视图控制器中更改之前viewDidLoad.这是我希望在导航项被推入导航堆栈更改导航项时的通知.