// // NewFXViewController.m // jitao // // Created by 罗云飞 on 2022/3/6. // Copyright © 2022 罗云飞. All rights reserved. // #import "NewFXViewController.h" #import "ZCJDModel.h" #import "ZCJDCell.h" #import "FaXianDetailViewController.h" #import "ZCJDViewController.h" #import "KJZXViewController.h" #import "ZCBKViewController.h" #import "JTKFViewController.h" @interface NewFXViewController (){ UITableView *newtableView; NSMutableArray *dataArray; int pageIndex; int pageSize; int pageNumber; UIView *showView; } @end @implementation NewFXViewController - (void)viewDidLoad { [super viewDidLoad]; [self dataInitialization]; [self setNavTitle:@"发现"]; [self loadsView]; [self addRefreshing]; [self networkRequest:nil]; } - (void)dataInitialization{ dataArray = NewMutableArrayInit; pageIndex = 1; pageSize = 10; pageNumber = 1; } - (void)loadsView{ UIView *backView = [UIView new]; backView.backgroundColor = NewWhiteColor; [self.view addSubview:backView]; backView.sd_layout .heightIs(160) .leftEqualToView(self.view) .rightEqualToView(self.view) .topSpaceToView(self.view, NavHeader); UIButton *oneBT = [UIButton new]; [oneBT setBackgroundImage:NewImageNamed(@"政策解读") forState:UIControlStateNormal]; ViewRadius(oneBT, 5); NewTouchUpInside(oneBT, oneBTclick:); oneBT.tag = 100; [backView addSubview:oneBT]; oneBT.sd_layout .topSpaceToView(backView, 10) .leftSpaceToView(backView, 10) .heightIs((SCREEN_WIDTH-50)/4) .widthIs((SCREEN_WIDTH-50)/4); UIButton *TwoBT = [UIButton new]; [TwoBT setBackgroundImage:NewImageNamed(@"科技资讯") forState:UIControlStateNormal]; ViewRadius(TwoBT, 5); NewTouchUpInside(TwoBT, oneBTclick:); TwoBT.tag = 101; [backView addSubview:TwoBT]; TwoBT.sd_layout .topSpaceToView(backView, 10) .leftSpaceToView(oneBT, 10) .heightIs((SCREEN_WIDTH-50)/4) .widthIs((SCREEN_WIDTH-50)/4); UIButton *ThreeBT = [UIButton new]; [ThreeBT setBackgroundImage:NewImageNamed(@"知产百科") forState:UIControlStateNormal]; ViewRadius(ThreeBT, 5); NewTouchUpInside(ThreeBT, oneBTclick:); ThreeBT.tag = 102; [backView addSubview:ThreeBT]; ThreeBT.sd_layout .topSpaceToView(backView, 10) .leftSpaceToView(TwoBT, 10) .heightIs((SCREEN_WIDTH-50)/4) .widthIs((SCREEN_WIDTH-50)/4); UIButton *FourBT = [UIButton new]; [FourBT setBackgroundImage:NewImageNamed(@"技淘客服") forState:UIControlStateNormal]; ViewRadius(FourBT, 5); NewTouchUpInside(FourBT, oneBTclick:); FourBT.tag = 103; [backView addSubview:FourBT]; FourBT.sd_layout .topSpaceToView(backView, 10) .leftSpaceToView(ThreeBT, 10) .heightIs((SCREEN_WIDTH-50)/4) .widthIs((SCREEN_WIDTH-50)/4); UILabel *titleLB = [UILabel new]; titleLB.text = @"技淘观点"; titleLB.textColor = NewBlackColor; titleLB.font = NewFont(18); [titleLB setSingleLineAutoResizeWithMaxWidth:0]; [backView addSubview:titleLB]; titleLB.sd_layout .bottomSpaceToView(backView, 20) .heightIs(20) .centerXEqualToView(backView); UILabel *line = [UILabel new]; line.backgroundColor = [UIColor colorWithString:@"#F2F2F7"]; [backView addSubview:line]; line.sd_layout .leftEqualToView(backView) .rightEqualToView(backView) .heightIs(10) .bottomEqualToView(backView); [self.view addSubview:newtableView = [NewControlPackage tableViewInitWithFrame:CGRectMake(0, NavHeader+160, SCREEN_WIDTH, SCREEN_HEIGHT-NavHeader-160) backgroundColor:[UIColor colorWithString:@"#F2F2F7"] style:1 delegate:self dataSource:self showsHorizontalScrollIndicator:NO showsVerticalScrollIndicator:NO hidden:NO tag:100 userInteractionEnabled:YES]]; newtableView.separatorStyle = NO; if (@available(iOS 11.0, *)) { newtableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever; } } #pragma mark-------------------------UITableView------------------------------------ -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 1; } //返回每段行数 -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return dataArray.count; } -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *Cell = @"Cell"; ZCJDCell * cell = [tableView dequeueReusableCellWithIdentifier:Cell]; if (cell == nil) { cell = [[ZCJDCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:Cell]; } [cell setSelectionStyle:UITableViewCellSelectionStyleNone];//(这种是没有点击后的阴影效果) cell.accessoryType = UITableViewCellAccessoryNone; cell.backgroundColor = NewWhiteColor; if (dataArray.count>0) { [cell assignment:dataArray[indexPath.row]]; } return cell; } -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { return 135; } - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ if (dataArray.count>0) { ZCJDModel *model = dataArray[indexPath.row]; // TongyongDetailViewController *vc = [[TongyongDetailViewController alloc] init]; // vc.title = model.title; // vc.neirong = model.content; // vc.time = model.releaseDate; // vc.type = @"政策"; // NewPushViewController(vc); // FaDetaiH5ViewController *vc = [[FaDetaiH5ViewController alloc] init]; // vc.type = @"政策"; // vc.ID = model.ID; // NewPushViewController(vc); FaXianDetailViewController *vc = [FaXianDetailViewController new]; vc.title = model.title; vc.neirong = model.content; vc.time = model.releaseDate; vc.type = @"资讯"; vc.titleimg = model.titleImg; NewPushViewController(vc); } } - (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{ return CGFLOAT_MIN; } - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ return CGFLOAT_MIN; } - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { return [[UIView alloc] init]; } - (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section { return [[UIView alloc] init]; } - (void)networkRequest:(id)object { int pageNumberIndex=1; if (!object) { [MBProgressHUD showLoadToView:self.view title:@"请稍后..."]; }else if ([object isKindOfClass:[MJRefreshNormalHeader class]]) { pageNumberIndex = 1; }else if ([object isKindOfClass:[MJRefreshBackNormalFooter class]]) { pageNumberIndex = pageNumber+1; } NSMutableDictionary *parameters = NewMutableDictionaryInit; [parameters safeSetObject:@(pageSize) forKey:@"pageSize"]; [parameters safeSetObject:@(pageNumberIndex) forKey:@"pageNo"]; [NetworkRequestManager requestGetWithInterfacePrefix:JT_NewlistJtViewpoint parameters:parameters onSuccess:^(id requestData) { [self dismiss:object]; if ([requestData[@"error"] count] !=0) { for (NSDictionary *dic in requestData[@"error"]) { [MBProgressHUD showError:dic[@"message"] toView:self.view]; } }else{ pageNumber = pageNumberIndex; if ([object isKindOfClass:[MJRefreshNormalHeader class]] || pageNumber==1) { [dataArray removeAllObjects]; }else if ([object isKindOfClass:[MJRefreshBackNormalFooter class]]) { NSMutableArray *arr = requestData[@"data"][@"list"]; if ([arr count]<=0) { [[[UIApplication sharedApplication].delegate window] makeToast:NewConnectServerNoMoreDataTitle duration:1.0 position:CSToastPositionBottom]; return; } } for (NSDictionary *dic in requestData[@"data"][@"list"]) { ZCJDModel *model = [[ZCJDModel alloc] initWithDictionary:dic error:nil]; [dataArray addObject:model]; } //查询不到类型底图 if (dataArray.count<=0) { [self addErrorLoadingFrame:CGRectMake(0, NavHeader+150, newtableView.width, newtableView.height) title:@"暂无资讯" buttonTitle:nil imageString:NewNoDataErrorImage]; }else { [self hideReloadingview]; [newtableView reloadData]; } } } onFailure:^{ [self dismiss:object]; }]; } #pragma mark - 上拉下拉初始化 - (void)addRefreshing { __weak typeof(self) weakSelf = self; __weak UITableView *tableView = newtableView; tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ if ([NetworkRequestManager connectedToNetwork]) { [weakSelf networkRequest:tableView.mj_header]; }else{ [tableView.mj_header endRefreshing]; } }]; tableView.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{ if ([NetworkRequestManager connectedToNetwork]) { [weakSelf networkRequest:tableView.mj_footer]; }else{ [tableView.mj_footer endRefreshing]; } }]; } - (void)dismiss:(id)object { if ([object isKindOfClass:[MJRefreshNormalHeader class]]) { __weak UITableView *newvc = newtableView; [newvc.mj_header endRefreshing]; }else if ([object isKindOfClass:[MJRefreshBackNormalFooter class]]){ __weak UITableView *newvc = newtableView; [newvc.mj_footer endRefreshing]; }else { [MBProgressHUD hideHUDForView:self.view]; } } #pragma mark- 外部触发自动刷新 - (void)autoDownRefresh { dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ [self autoRefresh]; }); } #pragma mark- 网络请求 - (void)autoRefresh { __weak UITableView *tableView = newtableView; [tableView.mj_header beginRefreshing]; } #pragma mark 初始化展示框 - (void) addErrorLoadingFrame:(CGRect)frame title:(NSString *)text buttonTitle:(NSString *)buttonText imageString:(NSString *)image { if(!showView) { [self.view addSubview:showView = [[UIView alloc] initWithFrame:frame]]; [showView setHidden:NO]; [showView setBackgroundColor:NewBgGrayColor]; UIImage *NOimg = [UIImage imageNamed:image]; UIImageView *tempIcon = [[UIImageView alloc]initWithImage:NOimg]; [showView addSubview:tempIcon]; tempIcon.sd_layout .leftSpaceToView(showView, (showView.width/2)-(NOimg.size.width/4.0f)) .topSpaceToView(showView, (showView.height/2)-100.0f-(NOimg.size.height/4.0f)) .widthIs(NOimg.size.width/2.0f) .heightIs(NOimg.size.height/2.0f); UILabel *tipLab = [UILabel new]; [showView addSubview:tipLab]; [tipLab setText:text]; [tipLab setTextAlignment:NSTextAlignmentCenter]; [tipLab setTextColor:NewLightGrayColor]; [tipLab setBackgroundColor:NewClearColor]; [tipLab setFont:NewAutoFont(16.0)]; tipLab.sd_layout .leftEqualToView(showView) .rightEqualToView(showView) .topSpaceToView(tempIcon,10) .heightIs(20.0); if (buttonText.length>0) { UIButton *button=[UIButton buttonWithType:UIButtonTypeCustom]; [showView addSubview:button]; [button setTitle:buttonText forState:UIControlStateNormal]; [button setTitleColor:NewNavigationColor forState:UIControlStateNormal]; ViewBorderRadius(button, 16, 2, NewNavigationColor); [button addTarget:self action:@selector(reloadingData) forControlEvents:UIControlEventTouchUpInside]; CGFloat width = [NewUtils heightforString:[NSString stringWithFormat:@"%@",buttonText] andHeight:34 fontSize:16]; button.sd_layout .leftSpaceToView(showView, (showView.width/2)-((width+35)/2)) .topSpaceToView(tipLab, 30.0) .widthIs(width+35) .heightIs(34); } } [UIView beginAnimations:@"ShowArrow" context:nil]; [UIView setAnimationCurve:UIViewAnimationCurveEaseIn]; [UIView setAnimationDuration:0.25f]; [UIView setAnimationDelegate:self]; [showView setAlpha:1.0f]; [UIView commitAnimations]; } - (void)hideReloadingview { [UIView animateWithDuration:0.25 animations:^{ showView.hidden = YES; } completion:^(BOOL finished) { for (id obj in showView.subviews) { [obj removeFromSuperview]; } showView = nil; [showView removeFromSuperview]; }]; } - (void)oneBTclick:(UIButton *)sender{ if (sender.tag == 100) { ZCJDViewController *vc = [ZCJDViewController new]; NewPushViewController(vc); }else if (sender.tag == 101){ KJZXViewController *vc = [KJZXViewController new]; NewPushViewController(vc); }else if (sender.tag == 102){ ZCBKViewController *vc = [ZCBKViewController new]; NewPushViewController(vc); }else if (sender.tag == 103){ JTKFViewController *vc = [JTKFViewController new]; NewPushViewController(vc); } } @end