我正在使用 UINavigationBar 的自定义子类,UINavigationController
方法是:initWithNavigationBarClass:toolbarClass:
。
不用说,在这个子类中,当显示的导航项的标题发生变化时,我需要监视和更新包含在我的导航栏子类中的附加界面元素。我已经考虑过为此使用 KVO 并观察导航项title
属性并在更改时进行更新,但我想知道是否有更好的方法。子类UINavigationController
化可能会给我更多的余地来控制或监控这个功能吗?我很想听听您对此的想法以及是否有更好的方法来解决这个问题?
详细说明:我覆盖了一些方法,例如layoutSubviews
. 在此方法中,当导航项刚刚被推入堆栈时,它还没有标题。这是因为标题是在视图控制器中设置的,viewDidLoad
直到加载尚未发生的视图时才会执行。因此,即使导航项已被推送,标题仍然存在nil
,直到它在呈现的视图控制器中被更改viewDidLoad
。这是我希望在导航项被推送到导航堆栈后更改时收到的通知。