JXTelAreaListVC.m 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. //
  2. // JXTelAreaListVC.m
  3. // shiku_im
  4. //
  5. // Created by daxiong on 17/4/24.
  6. // Copyright © 2017年 Reese. All rights reserved.
  7. //
  8. #import "JXTelAreaListVC.h"
  9. #import "JXMyTools.h"
  10. #import "JXTelAreaCell.h"
  11. #define TELAREA_CELL_HEIGHT 42
  12. @interface JXTelAreaListVC ()<UITextFieldDelegate>
  13. {
  14. NSString *_language;
  15. }
  16. @property (nonatomic, strong) NSMutableArray *telAreaArray;
  17. @property (nonatomic, strong) UITextField *seekTextField;
  18. @end
  19. @implementation JXTelAreaListVC
  20. - (instancetype)init
  21. {
  22. self = [super init];
  23. if (self) {
  24. self.heightHeader = JX_SCREEN_TOP;
  25. self.heightFooter = 0;
  26. self.isGotoBack = YES;
  27. self.title = Localized(@"JX_SelectCountryOrArea");
  28. //self.view.frame = CGRectMake(JX_SCREEN_WIDTH, 0, JX_SCREEN_WIDTH, JX_SCREEN_HEIGHT);
  29. [self createHeadAndFoot];
  30. _telAreaArray = [[NSMutableArray alloc] init];
  31. _telAreaArray = [g_constant.telArea mutableCopy];
  32. [self customView];
  33. }
  34. return self;
  35. }
  36. - (void)viewDidLoad {
  37. [super viewDidLoad];
  38. _language = [[NSString alloc] initWithFormat:@"%@",g_constant.sysLanguage];
  39. // Do any additional setup after loading the view.
  40. }
  41. - (void)viewWillAppear:(BOOL)animated{
  42. [super viewWillAppear:animated];
  43. // [UIView animateWithDuration:0.3 animations:^{
  44. // self.view.frame = CGRectMake(0, 0, JX_SCREEN_WIDTH, JX_SCREEN_HEIGHT);
  45. // }];
  46. }
  47. - (void) customView {
  48. self.isShowHeaderPull = NO;
  49. self.isShowFooterPull = NO;
  50. UIView *headView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, JX_SCREEN_WIDTH, TELAREA_CELL_HEIGHT+5)];
  51. self.tableView.tableHeaderView = headView;
  52. //搜索输入框
  53. UIButton *searchBtn = [[UIButton alloc] initWithFrame:CGRectMake(JX_SCREEN_WIDTH - 20 - 15, 14, 20, 20)];
  54. [searchBtn setBackgroundImage:[UIImage imageNamed:@"ic_search_history"] forState:UIControlStateNormal];
  55. //[searchBtn addTarget:self action:@selector(searchBtnClick) forControlEvents:UIControlEventTouchUpInside];
  56. [headView addSubview:searchBtn];
  57. UIView *seekBackView = [[UIView alloc] initWithFrame:CGRectMake(15, 6, JX_SCREEN_WIDTH - 30, 35)];
  58. // seekBackView.backgroundColor = [UIColor colorWithRed:28.0/255.0 green:62/255.0 blue:55/255.0 alpha:0.1];
  59. seekBackView.layer.masksToBounds = YES;
  60. seekBackView.layer.cornerRadius = 3.f;
  61. seekBackView.backgroundColor = HEXCOLOR(0xF2F2F2);
  62. [headView addSubview:seekBackView];
  63. // [seekBackView release];
  64. // UIImageView *seekImgView = [[UIImageView alloc] initWithFrame:CGRectMake(6, 4, 25, 25)];
  65. // seekImgView.image = [UIImage imageNamed:@"abc_ic_search_api_mtrl_alpha"];
  66. // [seekBackView addSubview:seekImgView];
  67. // [seekImgView release];
  68. _seekTextField = [[UITextField alloc] initWithFrame:CGRectMake(10, 0, seekBackView.frame.size.width-10, 35)];
  69. _seekTextField.delegate = self;
  70. _seekTextField.placeholder = Localized(@"JX_EnterCountry");
  71. // [_seekTextField setTextColor:[UIColor whiteColor]];
  72. [_seekTextField setFont:SYSFONT(14)];
  73. // [_seekTextField setTintColor:[UIColor whiteColor]];
  74. _seekTextField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
  75. _seekTextField.returnKeyType = UIReturnKeyGoogle;
  76. [seekBackView addSubview:_seekTextField];
  77. [_seekTextField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
  78. }
  79. - (void) textFieldDidChange:(UITextField *)textField {
  80. [_telAreaArray removeAllObjects];
  81. if (textField.text.length > 0) {
  82. _telAreaArray = [g_constant getSearchTelAreaWithName:textField.text];
  83. }else {
  84. _telAreaArray = [g_constant.telArea mutableCopy];
  85. }
  86. [self.tableView reloadData];
  87. }
  88. #pragma mark UITableView delegate
  89. //- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
  90. // return 8;//_areaArray.count;
  91. //}
  92. - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
  93. return _telAreaArray.count;//[[_areaArray objectAtIndex:section] count];
  94. }
  95. //- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
  96. // return 28;
  97. //}
  98. //- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{
  99. // return 0.01;
  100. //}
  101. - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
  102. return TELAREA_CELL_HEIGHT;
  103. }
  104. //- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
  105. // static NSString *identifier = @"header";
  106. // UITableViewHeaderFooterView *header = [tableView dequeueReusableHeaderFooterViewWithIdentifier:identifier];
  107. // if (!header){
  108. // header = [[UITableViewHeaderFooterView alloc] initWithReuseIdentifier:identifier];
  109. //
  110. // UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, JX_SCREEN_WIDTH, 28)];
  111. // label.tag = 100;
  112. // label.font = SYSFONT(16);
  113. // [header addSubview:label];
  114. // [label release];
  115. // label.backgroundColor = THEMEBACKCOLOR;
  116. // }
  117. //
  118. // UILabel *label = [header viewWithTag:100];
  119. // label.text = @" 北美洲";
  120. //
  121. // return header;
  122. //}
  123. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
  124. static NSString *identifier = @"cell";
  125. JXTelAreaCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
  126. if (!cell) {
  127. cell = [[JXTelAreaCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];
  128. cell.selectionStyle = UITableViewCellSelectionStyleGray;
  129. }
  130. [cell doRefreshWith:[_telAreaArray objectAtIndex:indexPath.row] language:_language];
  131. return cell;
  132. }
  133. - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
  134. if ([self.telAreaDelegate respondsToSelector:self.didSelect]) {
  135. // [self.telAreaDelegate performSelector:self.didSelect withObject:[_telAreaArray objectAtIndex:indexPath.row]];
  136. if (_selectAddr.length>0) {
  137. [self.telAreaDelegate performSelectorOnMainThread:self.didSelect withObject:[_telAreaArray objectAtIndex:indexPath.row] waitUntilDone:NO];
  138. }else{
  139. [self.telAreaDelegate performSelectorOnMainThread:self.didSelect withObject:[(NSDictionary *)[_telAreaArray objectAtIndex:indexPath.row] objectForKey:@"prefix"] waitUntilDone:NO];
  140. }
  141. }
  142. [self actionQuit];
  143. }
  144. - (void)didReceiveMemoryWarning {
  145. [super didReceiveMemoryWarning];
  146. // Dispose of any resources that can be recreated.
  147. }
  148. @end