我刚创建了UINavigationController
的简单子类。
#import "TTNavigationController.h"
@implementation TTNavigationController
- (void)viewDidLoad
{
[super viewDidLoad];
UIImage *logo = [UIImage imageNamed:@"logo"];
UIImageView *logoView = [[UIImageView alloc] initWithImage:logo];
self.navigationItem.titleView = logoView;
}
但是当我运行项目时,导航栏上没有带有徽标的titleView
。
否则,如果我尝试在我的视图控制器的viewDidLoad
中移动这3行代码就可以了。为什么呢?
答案 0 :(得分:3)
您无法使用self.navigationItem
,因为永远不会使用导航控制器所拥有的navigationItem
。它具有此属性,因为它是一种视图控制器,但实际上并未显示,因为显示了viewControllers
(或者更具体地说,topViewController
s)navigationItem
。
因此,更改视图控制器navigationItem
(直接或按下时)。