UIPageViewController: 20160907 … MainTabBarController

MainTabBarController.m


#import "MainTabBarController.h"
#import "BDJTabBar.h"
#import "MenuModel.h"
#import "EssenceViewController.h"
#import "NewsViewController.h"

@interface MainTabBarController ()

@end

@implementation MainTabBarController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    //设置tabBar的文字颜色
    [UITabBar appearance].tintColor = [UIColor colorWithWhite:64.0/255.0 alpha:1.0];
    
    
    //创建视图控制器
    [self createViewControllers];
    
    //使用自定制的tabbar
    [self setValue:[[BDJTabBar alloc] init] forKey:@"tabBar"];
    
    //请求导航标题列表
    [self downloadNavList];
    
    
}

- (void)downloadNavList {
    
    __weak typeof(self) weakSelf = self;
    [BDJDownloader downloadWithUrlString:kNavBarListUrl finish:^(NSData *data) {
        
        //解析数据
        MenuModel *model = [[MenuModel alloc] initWithData:data error:nil];
 //万一 数组 是 空的, 要先 判断一下。        

        //将数据传给精华和最新的界面
        //精华
        UINavigationController *essenceNavCtrl = (UINavigationController *)[weakSelf.viewControllers firstObject];
        EssenceViewController *essenceCtrl = (EssenceViewController *)[essenceNavCtrl.viewControllers firstObject];
        essenceCtrl.subModel = model.menus[0];


  //不能 这样
//因为 要取到的  essenceCtrl ,在 一个 指定的  UINavigationController里面。
// 要 取出来。
//        EssenceViewController * essenceCtrl = (EssenceViewController *) [weakSelf.viewControllers firstObject];
//        
//        essenceCtrl.subModel = model.menus[0];




        
//        //最新
//        UINavigationController *newsNavCtrl = (UINavigationController *)[weakSelf.viewControllers firstObject];
//        NewsViewController *newsCtrl = (NewsViewController *)newsNavCtrl.viewControllers[1];
//        newsCtrl.subModel = model.menus[1];
        
         //最新 ,有很多 要注意的。 
UINavigationController * newsNavigationCtrl = (UINavigationController *) weakSelf.viewControllers[1] ;
        //   (UINavigationController *) [ weakSelf.viewControllers firstObject ]
        
        NewsViewController * newsControl = (NewsViewController *) [newsNavigationCtrl.viewControllers firstObject];
        
        newsControl.subModel = model.menus[1];
        //model.menus[0]





    } failure:^(NSError *error) {
        NSLog(@"%@", error);
    }];
    
}

//添加子视图控制器
/**
 * clsName:视图控制器的名字
 * title:tabBarItem的文字
 * imageName: tabBarItem的默认图片
 * selectImageName:tabBarItem的选中图片
 */
- (void)addViewController:(NSString *)clsName title:(NSString *)title imageName:(NSString *)imageName selectImageName:(NSString *)selectImageName {

    //创建视图控制器
    Class cls = NSClassFromString(clsName);
    
    UIViewController *ctrl = [[cls alloc] init];
    
    //设置图片和文字
    ctrl.tabBarItem.title = title;
    
    ctrl.tabBarItem.image = [UIImage imageNamed:imageName];
    //UIImageRenderingModeAlwaysOriginal:使用原始图片
    ctrl.tabBarItem.selectedImage = [[UIImage imageNamed:selectImageName] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    
    //导航
    UINavigationController *navCtrl = [[UINavigationController alloc] initWithRootViewController:ctrl];
    
    //添加子视图控制器
    [self addChildViewController:navCtrl];
    
}

//创建视图控制器
- (void)createViewControllers {
    
    //精华
    [self addViewController:@"EssenceViewController" title:@"精华" imageName:@"tabBar_essence_icon" selectImageName:@"tabBar_essence_click_icon"];
    
    //最新
    [self addViewController:@"NewsViewController" title:@"最新" imageName:@"tabBar_new_icon" selectImageName:@"tabBar_new_click_icon"];

    //关注
    [self addViewController:@"FollowViewController" title:@"关注" imageName:@"tabBar_friendTrends_icon" selectImageName:@"tabBar_friendTrends_click_icon"];

    //我
    [self addViewController:@"ProfileViewController" title:@"我" imageName:@"tabBar_me_icon" selectImageName:@"tabBar_me_click_icon"];
}


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 淡淡忘阅读 1,612评论 0 1
  • 谈到美这个字,我们可以从很哲学的角度去谈谈什么是美。美的定义是什么?美的广度是什么?美是一种令人心情愉悦的一...
    姚瑾读书阅读 4,857评论 5 4
  • 04 骗—亿—垫—吧! 文 | 酉酉 “老师,用汉语讨价还价,怎么说?”刚从学校出发,Armine就急不可耐地蹦出...
    酉_酉阅读 5,847评论 31 67
  • 第一步、配置环境(重要)1、安装 protobuf , 注意: protobuf必须是最新版本,如果已经安装了, ...
    CoderChan阅读 10,817评论 0 3
  • 每个人都会失眠,比如说我现在,就睡不着了。睡不着的时候,你一般都会干些什么?数水饺数绵羊想办法让自己睡着?还是干脆...
    小二青宸阅读 1,589评论 20 6

友情链接更多精彩内容