MineVC.m 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  1. //
  2. // MineVC.m
  3. // jitao
  4. //
  5. // Created by 罗云飞 on 2017/9/14.
  6. // Copyright © 2017年 罗云飞. All rights reserved.
  7. //
  8. #import "MineVC.h"
  9. #import "HeadinformationCell.h"
  10. #import "BlankCell.h"
  11. #import "CategoryCell.h"
  12. #import "PersonalinformationViewController.h"//个人信息
  13. #import "SetupViewController.h"//设置
  14. #import "MyresultsViewController.h"//我的成果
  15. #import "MyneedsViewController.h"//我的需求
  16. #import "MyattentionViewController.h"//我的关注
  17. #import "MyOrderViewController.h"//我的订单
  18. #import "SystemmessageViewController.h"//系统消息
  19. #import "Userinfomodel.h"
  20. #import "NewLoginViewController.h"
  21. @interface MineVC ()<UITableViewDelegate,UITableViewDataSource>{
  22. UITableView *newtableView;
  23. NSMutableArray *dataArray;
  24. NSString *nickname;
  25. NSString *headimageurl;
  26. Userinfomodel *model;
  27. }
  28. @end
  29. @implementation MineVC
  30. - (void)viewWillAppear:(BOOL)animated {
  31. [super viewWillAppear:animated];
  32. [self Networkrequest];
  33. }
  34. - (void)viewDidLoad {
  35. [super viewDidLoad];
  36. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(UserinfoNotificationMethod) name:@"个人信息修改" object:nil];
  37. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(UserinfoNotificationMethod) name:@"修改头像" object:nil];
  38. [self setNavTitle:@"我的"];
  39. [self dataInitialization];
  40. [self Networkrequest];
  41. [self loadsView];
  42. // Do any additional setup after loading the view.
  43. }
  44. #pragma mark ---通知修改个人信息
  45. - (void)UserinfoNotificationMethod {
  46. [self Networkrequest];
  47. }
  48. - (void)Networkrequest {
  49. NSMutableDictionary *parameters = NewMutableDictionaryInit;
  50. [NetworkRequestManager requestGetWithInterfacePrefix:JT_userInfo parameters:parameters onSuccess:^(id requestData) {
  51. NSLog(@"服务器返回数据 :%@",requestData);
  52. model = [[Userinfomodel alloc] initWithDictionary:requestData[@"data"] error:nil];
  53. [newtableView reloadData];
  54. } onFailure:^{
  55. }];
  56. }
  57. #pragma mark - 数据初始化
  58. - (void)dataInitialization{
  59. dataArray = NewMutableArrayInit;
  60. for (int i=0; i<9; i++) {
  61. NSDictionary *dataDic = [NSDictionary dictionary];
  62. switch (i) {
  63. case 0:
  64. dataDic = @{@"nameKey":@"个人信息",@"imageKey":@"",@"classKey":@""};
  65. [dataArray addObject:dataDic];
  66. break;
  67. case 1:
  68. dataDic = @{@"nameKey":@"",@"imageKey":@"",@"classKey":@""};
  69. [dataArray addObject:dataDic];
  70. break;
  71. case 2:
  72. dataDic = @{@"nameKey":@"我的订单",@"imageKey":@"我的订单",@"classKey":@""};
  73. [dataArray addObject:dataDic];
  74. break;
  75. case 3:
  76. dataDic = @{@"nameKey":@"我的成果",@"imageKey":@"我的成果",@"classKey":@""};
  77. [dataArray addObject:dataDic];
  78. break;
  79. case 4:
  80. dataDic = @{@"nameKey":@"我的需求",@"imageKey":@"我的需求",@"classKey":@""};
  81. [dataArray addObject:dataDic];
  82. break;
  83. case 5:
  84. dataDic = @{@"nameKey":@"我的关注",@"imageKey":@"我的关注",@"classKey":@""};
  85. [dataArray addObject:dataDic];
  86. break;
  87. case 6:
  88. dataDic = @{@"nameKey":@"",@"imageKey":@"",@"classKey":@""};
  89. [dataArray addObject:dataDic];
  90. break;
  91. case 7:
  92. dataDic = @{@"nameKey":@"系统消息",@"imageKey":@"系统消息",@"classKey":@""};
  93. [dataArray addObject:dataDic];
  94. break;
  95. case 8:
  96. dataDic = @{@"nameKey":@"设置",@"imageKey":@"设置",@"classKey":@""};
  97. [dataArray addObject:dataDic];
  98. break;
  99. default:
  100. break;
  101. }
  102. }
  103. }
  104. #pragma mark ----加载界面
  105. - (void)loadsView{
  106. [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]];
  107. newtableView.separatorStyle = NO;
  108. }
  109. #pragma mark-------------------------UITableView------------------------------------
  110. -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
  111. {
  112. return 1;
  113. }
  114. //返回每段行数
  115. -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
  116. {
  117. return dataArray.count;
  118. }
  119. -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
  120. {
  121. static NSString *Cell = @"Cell";
  122. static NSString *Cell1 = @"BlankCell";
  123. static NSString *Cell2 = @"CategoryCell";
  124. if (indexPath.row == 0) {
  125. HeadinformationCell * cell = [tableView dequeueReusableCellWithIdentifier:Cell];
  126. if (cell == nil) {
  127. cell = [[HeadinformationCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:Cell];
  128. }
  129. [cell setSelectionStyle:UITableViewCellSelectionStyleNone];//(这种是没有点击后的阴影效果)
  130. cell.accessoryType = UITableViewCellAccessoryNone;
  131. [cell assignment:model.nickname headurl:model.headPortraitUrl];
  132. return cell;
  133. }else if (indexPath.row == 1 || indexPath.row == 6){
  134. BlankCell * cell = [tableView dequeueReusableCellWithIdentifier:Cell1];
  135. if (cell == nil) {
  136. cell = [[BlankCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:Cell1];
  137. }
  138. [cell setSelectionStyle:UITableViewCellSelectionStyleNone];//(这种是没有点击后的阴影效果)
  139. cell.accessoryType = UITableViewCellAccessoryNone;
  140. return cell;
  141. }else{
  142. CategoryCell * cell = [tableView dequeueReusableCellWithIdentifier:Cell2];
  143. if (cell == nil) {
  144. cell = [[CategoryCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:Cell2];
  145. }
  146. [cell setSelectionStyle:UITableViewCellSelectionStyleNone];//(这种是没有点击后的阴影效果)
  147. cell.accessoryType = UITableViewCellAccessoryNone;
  148. [cell assignment:dataArray[indexPath.row]];
  149. if (indexPath.row == 5||indexPath.row == 8) {
  150. cell.line.hidden = YES;
  151. }
  152. if (indexPath.row == 8) {
  153. cell.seedetails.hidden = YES;
  154. cell.backimage.hidden = YES;
  155. }
  156. return cell;
  157. }
  158. return [[UITableViewCell alloc] init];
  159. }
  160. -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
  161. {
  162. if (indexPath.row == 0) {
  163. return fitScreenHeight(156);
  164. }else if (indexPath.row == 1 || indexPath.row == 6){
  165. return fitScreenHeight(10);
  166. }
  167. return fitScreenHeight(44);
  168. }
  169. - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
  170. if ([UserHelper isLogin]) {
  171. NSLog(@"%@",@"已登录");
  172. if ([dataArray[indexPath.row][@"nameKey"] isEqualToString:@"个人信息"]) {
  173. PersonalinformationViewController *vc = [[PersonalinformationViewController alloc] init];
  174. NewPushViewController(vc);
  175. }else if ([dataArray[indexPath.row][@"nameKey"] isEqualToString:@"我的订单"]) {
  176. MyOrderViewController *vc = [[MyOrderViewController alloc] init];
  177. NewPushViewController(vc);
  178. }else if ([dataArray[indexPath.row][@"nameKey"] isEqualToString:@"我的成果"]) {
  179. MyresultsViewController *vc = [[MyresultsViewController alloc] init];
  180. NewPushViewController(vc);
  181. }else if ([dataArray[indexPath.row][@"nameKey"] isEqualToString:@"我的需求"]){
  182. MyneedsViewController *vc = [[MyneedsViewController alloc] init];
  183. NewPushViewController(vc);
  184. }else if ([dataArray[indexPath.row][@"nameKey"] isEqualToString:@"我的关注"]){
  185. MyattentionViewController *vc = [[MyattentionViewController alloc] init];
  186. NewPushViewController(vc);
  187. }else if ([dataArray[indexPath.row][@"nameKey"] isEqualToString:@"系统消息"]){
  188. SystemmessageViewController *vc = [[SystemmessageViewController alloc] init];
  189. NewPushViewController(vc);
  190. }else if ([dataArray[indexPath.row][@"nameKey"] isEqualToString:@"设置"]){
  191. SetupViewController *vc = [[SetupViewController alloc] init];
  192. NewPushViewController(vc);
  193. }else if ([dataArray[indexPath.row][@"nameKey"] isEqualToString:@"设置"]){
  194. SetupViewController *vc = [[SetupViewController alloc] init];
  195. NewPushViewController(vc);
  196. }
  197. }else{
  198. NSLog(@"%@",@"未登录");
  199. // if ([dataArray[indexPath.row][@"nameKey"] isEqualToString:@"设置"]){
  200. // SetupViewController *vc = [[SetupViewController alloc] init];
  201. // NewPushViewController(vc);
  202. // }else{
  203. NewLoginViewController *vc = [[NewLoginViewController alloc] init];
  204. [vc setLoginSuccess:^(NSString *string) {
  205. [self Networkrequest];
  206. NewPopViewController;
  207. }];
  208. NewPushViewController(vc);
  209. }
  210. // }
  211. }
  212. // tableView 如果是Gruop类型的话,section之间的间距变宽,执行返回高度的同时还需要执行return UIView的代理
  213. - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
  214. return CGFLOAT_MIN;
  215. }
  216. - (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{
  217. return CGFLOAT_MIN;
  218. }
  219. - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
  220. return [[UIView alloc] init];
  221. }
  222. - (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
  223. return [[UIView alloc] init];
  224. }
  225. - (void)didReceiveMemoryWarning {
  226. [super didReceiveMemoryWarning];
  227. // Dispose of any resources that can be recreated.
  228. }
  229. /*
  230. #pragma mark - Navigation
  231. // In a storyboard-based application, you will often want to do a little preparation before navigation
  232. - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
  233. // Get the new view controller using [segue destinationViewController].
  234. // Pass the selected object to the new view controller.
  235. }
  236. */
  237. @end