好貼--iOS-關於UINavigationController的title不顯示問題
阿新 • • 發佈:2017-10-29
tabbar log blank blue nco named city -- tco
用繼承自UINavigationController與UITabbarController 創建類,將前者設置為RootViewController,出現了一個問題,navigetionController的title不顯示,在controller裏面怎麽設置都不顯示,原因是這個樣子的:
title這個屬性實際上是屬於UIViewController而不屬於UINavigationController。所以,這個屬性是從UIViewController上面繼承過來的。而不是UINavigationController上面的名字。由於UINavigationController屬於容器,所以最少需要一個RootController。然後在RootController的viewDidLoad設置title而不是在UINavigationController的subclass中設置。而且viewDidLoad設置的title是統一顯示的,導航視圖控制的UIViewController的title都是一樣的,我的解決方法是:將邏輯更換,UITabbarController設置為RootViewController,
1 -(void)addTage:(Class)controller addName:(NSString *)name addImage:(NSString *)image addSelectImage:(NSString *)selectImage 2 3 { 4 5 6 7 UIViewController *vc = [[controller alloc] init]; 8 9 UINavigationController *cityNav = [[UINavigationControlleralloc]initWithRootViewController:vc];10 11 cityNav.tabBarItem.image = [UIImage imageNamed:image]; 12 13 cityNav.tabBarItem.selectedImage = [UIImage imageNamed:selectImage]; 14 15 cityNav.navigationBar.backgroundColor = [UIColor blueColor]; 16 17 cityNav.tabBarItem.title = name; 18 19 cityNav.navigationBar.barStyle = UIBarStyleDefault;20 21 cityNav.navigationBar.barTintColor = [UIColor cyanColor]; 22 23 [self.navArray addObject:cityNav]; 24 25 26 27 } 28 29 30 31 self.tabBarController.viewControllers = self.navArray; 32 33 34 self.window.rootViewController = self.tabBarController;
好貼--iOS-關於UINavigationController的title不顯示問題