UINavigationController的理解

来源:互联网 发布:淘宝商品摄影教程 编辑:程序博客网 时间:2024/06/06 01:11

UINavigationController是iOS中最常见的viewcontroller,也是管理viewcontroller比较方便的一个容器,也可以理解是一个栈,先进后出,所以开始创建工程的时候一般会初始化一个容器栈。push进栈 pop出栈。

  之前做项目是在原来的框架基础上进行开发,没有自己搭建过框架,对用UINavigationController搭建框架也不是特别了解,前半年自己在项目组搭建了一套智慧城市的框架,多个tab页面,按照之前的格式一个tab页面对应一个UINavigationController,在Appdelegate里面又创建了一个UINavigationController,造成一个容器里面包含多个栈容器,在微信回调和用界面调试工具看是找不到具体页面所在的viewcontroller,最后修改为一个UINavigationController,tab里面只是每个viewcontroller,这个 又设计UItabBar

/配置rootUI

-(void)configBaseTabRootVCUI

{

    NSLog(@"%@",NSStringFromSelector(_cmd));

    //第一个nav

    self.firstVC.tabBarItem = [selfcreateTabBarItemWithTitle:@"首页"imageName:@"HomeTabPage.png"selectedImageName:@"HomeTabPageLight.png"];

    self.firstVC.tabBarItem.tag =tabBarItem_tag + 0;

    [selfsetFontAndColorForTabBarItem:self.firstVC.tabBarItem];

    //第二个nav

    self.secondVC.tabBarItem = [selfcreateTabBarItemWithTitle:@"服务"imageName:@"ServerTab.png"selectedImageName:@"ServerTabLight.png"];

    self.secondVC.tabBarItem.tag =tabBarItem_tag + 1;

    [selfsetFontAndColorForTabBarItem:self.secondVC.tabBarItem];

    //第三个nav

    self.thirdVC.tabBarItem = [selfcreateTabBarItemWithTitle:@"附近"imageName:@"FindTab.png"selectedImageName:@"FindTabLight.png"];

    self.thirdVC.tabBarItem.tag =tabBarItem_tag + 2;

    [selfsetFontAndColorForTabBarItem:self.thirdVC.tabBarItem];

    //第四个nav

    self.fourthVC.tabBarItem = [selfcreateTabBarItemWithTitle:@"我的"imageName:@"MineTab.png"selectedImageName:@"MineTabLight.png"];

    self.fourthVC.tabBarItem.tag =tabBarItem_tag + 3;

    [selfsetFontAndColorForTabBarItem:self.fourthVC.tabBarItem];

    //设置TabBar背景

    UIImage* tabBarShadow = [UIImageimageNamed:@"clear.png"];//需要的图片

    [[UITabBarappearance]setBackgroundImage:tabBarShadow];

    self.tabBar.backgroundColor = [UIColorwhiteColor];

    self.viewControllers =@[self.firstVC,self.secondVC,self.thirdVC,self.fourthVC];

}

-(BaseFirstViewController*)firstVC

{

    if (!_firstVC) {

        _firstVC = [[BaseFirstViewControlleralloc]init];

    }

    return_firstVC;

}



原创粉丝点击