UINavigationBar子类推送和弹出方法未调用

Hiv*_*cks 5 objective-c uinavigationbar uikit uinavigationcontroller ios

我将UINavigationBar子类化,因为我需要从iOS 7一直到iOS 5的外观。

我重写了以下方法:

- (void)pushNavigationItem:(UINavigationItem *)item animated:(BOOL)animated
{
    NSLog(@"pushNavigationItem:animated:");
    [super pushNavigationItem:item animated:animated];

    _titleView = item.titleView;
}

- (UINavigationItem *)popNavigationItemAnimated:(BOOL)animated
{
    NSLog(@"popNavigationItemAnimated:");
    return [super popNavigationItemAnimated:animated];
}
Run Code Online (Sandbox Code Playgroud)

但是它们从未被调用(没有输出到控制台,也没有中断点)。

其他一切,包括drawRect:和layoutSubviews都可以正常工作。

我是在做错什么还是UIKit中有一些错误?