TabBar + NavC + VC 必须知道的~

前提:UIViewController 实例 基于 UINavigationController 实例,而 UINavigationController 实例 基于 UITabBarController 实例。

这个时候要设置 navigationController.navigationItem.title 和 tabBarController.tabBarItem.title 要通过 self.title 以及 self.navigationItem.title 来设置,但要注意的是————顺序。这个很重要。

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    self.title = @"pppp";
    
    self.navigationItem.title = @"SSSS";
}

这个是正常的设置,
tabBarController.tabBarItem.title 会显示为 pppp,而 navigationController.navigationItem.title 会显示为 SSSS。

但是假如把顺序搞乱了。比如:

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    self.navigationItem.title = @"SSSS";
    
    self.title = @"pppp";
    
}

这种情况的话,tabBarController.tabBarItem.title 和navigationController.navigationItem.title 都会显示为 pppp。

还有就是从 self.navigationController.navigationItem.title 和 self.tabBarController.tabBarItem.title 来设置是无效的。

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    self.title = @"pppp";
    
    self.navigationItem.title = @"SSSS";
    
    self.navigationController.navigationItem.title = @"2342";
    
    self.tabBarController.tabBarItem.title = @"CCC";
}

都是由 self.title 以及 self.navigationItem.title 来决定的。