热更新demo

readHistoryController.m 4.4KB

    // // readHistoryController.m // ThePaperBase // // Created by Huixin on 15/9/29. // Copyright © 2015年 scar1900. All rights reserved. // #import "readHistoryController.h" #import "readHistoryTableController.h" #import "readHistoryViewModel.h" @interface readHistoryController () <readHistoryViewModelDelegate, readHistoryTableDelegate> @property(nonatomic, strong)UILabel *noDataLabel; @property(nonatomic, strong)readHistoryTableController *tableVC; @property(nonatomic, strong)readHistoryViewModel *viewModel; @end @implementation readHistoryController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. self.titleStr = @"阅读历史"; self.view.backgroundColor = [UIColor colorWithHexString:BackGroundColor]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(needrefreshNightMode) name:REFRESHAFTERNIGHTMODE object:nil]; [self.view addSubview:self.noDataLabel]; [self.view addSubview:self.tableVC.view]; [self addChildViewController:self.tableVC]; [self.tableVC didMoveToParentViewController:self]; [self layoutViews]; _viewModel = [readHistoryViewModel new]; _viewModel.delegate = self; if (!self.tableVC.dataList || self.tableVC.dataList.count == 0) { [_viewModel getReadHistoryWithURL:nil]; } } - (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; } - (void)needrefreshNightMode { //bug5058: 夜间模式实时切换 self.view.backgroundColor = [UIColor colorWithHexString:BackGroundColor]; _noDataLabel.textColor = [UIColor colorWithHexString:TextLightGray]; } - (void)layoutViews { [self.noDataLabel makeConstraints:^(MASConstraintMaker *make) { make.centerX.equalTo(self.view.centerX); make.centerY.equalTo(self.view.centerY); make.width.mas_equalTo(rect_screen.size.width); make.height.mas_equalTo(@45); }]; [self.tableVC.view makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.naviBar.bottom); make.left.equalTo(self.view.left); make.right.equalTo(self.view.right); make.bottom.equalTo(self.view.bottom); }]; } - (UILabel*)noDataLabel{ if (!_noDataLabel) { _noDataLabel = [[UILabel alloc] init]; _noDataLabel.textColor = [UIColor colorWithHexString:TextLightGray]; _noDataLabel.font = appFont(TEXT_THREE_LEVELSIZE, NO); _noDataLabel.textAlignment = NSTextAlignmentCenter; _noDataLabel.lineBreakMode = NSLineBreakByWordWrapping; _noDataLabel.numberOfLines = 0; _noDataLabel.backgroundColor = [UIColor clearColor]; _noDataLabel.text = @"没有阅读历史"; _noDataLabel.hidden = YES; } return _noDataLabel; } - (readHistoryTableController*)tableVC { if (!_tableVC) { _tableVC = [readHistoryTableController new]; _tableVC.delegate = self; _tableVC.view.hidden = YES; } return _tableVC; } - (void)checkDataList { if (self.tableVC.dataList.count > 0) { self.tableVC.view.hidden =NO; self.noDataLabel.hidden = YES; } else { self.tableVC.view.hidden =YES; self.noDataLabel.hidden =NO; } } #pragma mark - viewmodel delegate - (void)returnReadHistoryList:(NSMutableArray*)data nextUrl:(NSString*)url { self.tableVC.dataList = data; [self.tableVC.tableView setContentOffset:CGPointZero]; self.tableVC.nextUrl = url; [self checkDataList]; } - (void)returnErrorMessage:(NSString*)msg { ShowTextMessage(msg); } #pragma mark - naviBar - (void)tapNaviBar:(id)sender { if (![self.tableVC.view isHidden]) { [self.tableVC.tableView setContentOffset:CGPointZero animated:YES]; return; } } #pragma mark - readHistoryTableDelagate - (void)readHistoryGoToContent:(listContObjectVO *)data { pushContentWithListContentObject(self.navigationController, data); } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } /* #pragma mark - Navigation // In a storyboard-based application, you will often want to do a little preparation before navigation - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { // Get the new view controller using [segue destinationViewController]. // Pass the selected object to the new view controller. } */ @end