iOS 5 までずっと iOS 7 の外観が必要なので、UINavigationBar をサブクラス化しています。
次のメソッドをオーバーライドしました。
- (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];
}
ただし、それらが呼び出されることはありません (コンソールへの出力はなく、ブレークポイントでの中断もありません)。
drawRect: や layoutSubviews など、他のすべては正常に動作します。
私は何か間違ったことをしていますか、それともUIKitのバグですか?