// // MineVC.m // jitao // // Created by 罗云飞 on 2017/9/14. // Copyright © 2017年 罗云飞. All rights reserved. // #import "MineVC.h" #import "HeadinformationCell.h" #import "BlankCell.h" #import "CategoryCell.h" #import "PersonalinformationViewController.h"//个人信息 #import "SetupViewController.h"//设置 #import "MyresultsViewController.h"//我的成果 #import "MyneedsViewController.h"//我的需求 #import "MyattentionViewController.h"//我的关注 #import "MyOrderViewController.h"//我的订单 #import "SystemmessageViewController.h"//系统消息 #import "Userinfomodel.h" #import "NewLoginViewController.h" @interface MineVC (){ UITableView *newtableView; NSMutableArray *dataArray; NSString *nickname; NSString *headimageurl; Userinfomodel *model; } @end @implementation MineVC - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [self Networkrequest]; } - (void)viewDidLoad { [super viewDidLoad]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(UserinfoNotificationMethod) name:@"个人信息修改" object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(UserinfoNotificationMethod) name:@"修改头像" object:nil]; [self setNavTitle:@"我的"]; [self dataInitialization]; [self Networkrequest]; [self loadsView]; // Do any additional setup after loading the view. } #pragma mark ---通知修改个人信息 - (void)UserinfoNotificationMethod { [self Networkrequest]; } - (void)Networkrequest { NSMutableDictionary *parameters = NewMutableDictionaryInit; [NetworkRequestManager requestGetWithInterfacePrefix:JT_userInfo parameters:parameters onSuccess:^(id requestData) { NSLog(@"服务器返回数据 :%@",requestData); model = [[Userinfomodel alloc] initWithDictionary:requestData[@"data"] error:nil]; [newtableView reloadData]; } onFailure:^{ }]; } #pragma mark - 数据初始化 - (void)dataInitialization{ dataArray = NewMutableArrayInit; for (int i=0; i<9; i++) { NSDictionary *dataDic = [NSDictionary dictionary]; switch (i) { case 0: dataDic = @{@"nameKey":@"个人信息",@"imageKey":@"",@"classKey":@""}; [dataArray addObject:dataDic]; break; case 1: dataDic = @{@"nameKey":@"",@"imageKey":@"",@"classKey":@""}; [dataArray addObject:dataDic]; break; case 2: dataDic = @{@"nameKey":@"我的订单",@"imageKey":@"我的订单",@"classKey":@""}; [dataArray addObject:dataDic]; break; case 3: dataDic = @{@"nameKey":@"我的成果",@"imageKey":@"我的成果",@"classKey":@""}; [dataArray addObject:dataDic]; break; case 4: dataDic = @{@"nameKey":@"我的需求",@"imageKey":@"我的需求",@"classKey":@""}; [dataArray addObject:dataDic]; break; case 5: dataDic = @{@"nameKey":@"我的关注",@"imageKey":@"我的关注",@"classKey":@""}; [dataArray addObject:dataDic]; break; case 6: dataDic = @{@"nameKey":@"",@"imageKey":@"",@"classKey":@""}; [dataArray addObject:dataDic]; break; case 7: dataDic = @{@"nameKey":@"系统消息",@"imageKey":@"系统消息",@"classKey":@""}; [dataArray addObject:dataDic]; break; case 8: dataDic = @{@"nameKey":@"设置",@"imageKey":@"设置",@"classKey":@""}; [dataArray addObject:dataDic]; break; default: break; } } } #pragma mark ----加载界面 - (void)loadsView{ [self.view addSubview:newtableView = [NewControlPackage tableViewInitWithFrame:CGRectMake(0, ViewStartY, SCREEN_WIDTH, SCREEN_HEIGHT-ViewStartY) backgroundColor:NewNavigationColor style:UITableViewStyleGrouped delegate:self dataSource:self showsHorizontalScrollIndicator:NO showsVerticalScrollIndicator:NO hidden:NO tag:100 userInteractionEnabled:YES]]; newtableView.separatorStyle = NO; } #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"; static NSString *Cell1 = @"BlankCell"; static NSString *Cell2 = @"CategoryCell"; if (indexPath.row == 0) { HeadinformationCell * cell = [tableView dequeueReusableCellWithIdentifier:Cell]; if (cell == nil) { cell = [[HeadinformationCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:Cell]; } [cell setSelectionStyle:UITableViewCellSelectionStyleNone];//(这种是没有点击后的阴影效果) cell.accessoryType = UITableViewCellAccessoryNone; [cell assignment:model.nickname headurl:model.headPortraitUrl]; return cell; }else if (indexPath.row == 1 || indexPath.row == 6){ BlankCell * cell = [tableView dequeueReusableCellWithIdentifier:Cell1]; if (cell == nil) { cell = [[BlankCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:Cell1]; } [cell setSelectionStyle:UITableViewCellSelectionStyleNone];//(这种是没有点击后的阴影效果) cell.accessoryType = UITableViewCellAccessoryNone; return cell; }else{ CategoryCell * cell = [tableView dequeueReusableCellWithIdentifier:Cell2]; if (cell == nil) { cell = [[CategoryCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:Cell2]; } [cell setSelectionStyle:UITableViewCellSelectionStyleNone];//(这种是没有点击后的阴影效果) cell.accessoryType = UITableViewCellAccessoryNone; [cell assignment:dataArray[indexPath.row]]; if (indexPath.row == 5||indexPath.row == 8) { cell.line.hidden = YES; } if (indexPath.row == 8) { cell.seedetails.hidden = YES; cell.backimage.hidden = YES; } return cell; } return [[UITableViewCell alloc] init]; } -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { if (indexPath.row == 0) { return fitScreenHeight(156); }else if (indexPath.row == 1 || indexPath.row == 6){ return fitScreenHeight(10); } return fitScreenHeight(44); } - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ if ([UserHelper isLogin]) { NSLog(@"%@",@"已登录"); if ([dataArray[indexPath.row][@"nameKey"] isEqualToString:@"个人信息"]) { PersonalinformationViewController *vc = [[PersonalinformationViewController alloc] init]; NewPushViewController(vc); }else if ([dataArray[indexPath.row][@"nameKey"] isEqualToString:@"我的订单"]) { MyOrderViewController *vc = [[MyOrderViewController alloc] init]; NewPushViewController(vc); }else if ([dataArray[indexPath.row][@"nameKey"] isEqualToString:@"我的成果"]) { MyresultsViewController *vc = [[MyresultsViewController alloc] init]; NewPushViewController(vc); }else if ([dataArray[indexPath.row][@"nameKey"] isEqualToString:@"我的需求"]){ MyneedsViewController *vc = [[MyneedsViewController alloc] init]; NewPushViewController(vc); }else if ([dataArray[indexPath.row][@"nameKey"] isEqualToString:@"我的关注"]){ MyattentionViewController *vc = [[MyattentionViewController alloc] init]; NewPushViewController(vc); }else if ([dataArray[indexPath.row][@"nameKey"] isEqualToString:@"系统消息"]){ SystemmessageViewController *vc = [[SystemmessageViewController alloc] init]; NewPushViewController(vc); }else if ([dataArray[indexPath.row][@"nameKey"] isEqualToString:@"设置"]){ SetupViewController *vc = [[SetupViewController alloc] init]; NewPushViewController(vc); }else if ([dataArray[indexPath.row][@"nameKey"] isEqualToString:@"设置"]){ SetupViewController *vc = [[SetupViewController alloc] init]; NewPushViewController(vc); } }else{ NSLog(@"%@",@"未登录"); // if ([dataArray[indexPath.row][@"nameKey"] isEqualToString:@"设置"]){ // SetupViewController *vc = [[SetupViewController alloc] init]; // NewPushViewController(vc); // }else{ NewLoginViewController *vc = [[NewLoginViewController alloc] init]; [vc setLoginSuccess:^(NSString *string) { [self Networkrequest]; NewPopViewController; }]; NewPushViewController(vc); } // } } // tableView 如果是Gruop类型的话,section之间的间距变宽,执行返回高度的同时还需要执行return UIView的代理 - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ return CGFLOAT_MIN; } - (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(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)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