iOS-关于UINavigationController的title不显示问题

来源:互联网 发布:老虎机控制器软件下载 编辑:程序博客网 时间:2024/06/05 18:15

用继承自UINavigationController与UITabbarController 创建类,将前者设置为RootViewController,出现了一个问题,navigetionController的title不显示,在controller里面怎么设置都不显示,原因是这个样子的:

title这个属性实际上是属于UIViewController而不属于UINavigationController。所以,这个属性是从UIViewController上面继承过来的。而不是UINavigationController上面的名字。由于UINavigationController属于容器,所以最少需要一个RootController。然后在RootController的viewDidLoad设置title而不是在UINavigationController的subclass中设置。而且viewDidLoad设置的title是统一显示的,导航视图控制的UIViewController的title都是一样的,我的解决方法是:将逻辑更换,UITabbarController设置为RootViewController,

-(void)addTage:(Class)controller addName:(NSString *)name addImage:(NSString *)image addSelectImage:(NSString *)selectImage

{

    

    UIViewController *vc = [[controlleralloc] init];

    UINavigationController *cityNav = [[UINavigationControlleralloc]initWithRootViewController:vc];

    cityNav.tabBarItem.image = [UIImageimageNamed:image];

    cityNav.tabBarItem.selectedImage = [UIImageimageNamed:selectImage];

    cityNav.navigationBar.backgroundColor = [UIColorblueColor];

    cityNav.tabBarItem.title = name;

    cityNav.navigationBar.barStyle =UIBarStyleDefault;

    cityNav.navigationBar.barTintColor = [UIColorcyanColor];

    [self.navArrayaddObject:cityNav];

    

}

    self.tabBarController.viewControllers = self.navArray;


    self.window.rootViewController = self.tabBarController;




0 0
原创粉丝点击