JXSearchUserVC.m 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320
  1. //
  2. // JXSearchUserVC.m
  3. // shiku_im
  4. //
  5. // Created by flyeagleTang on 14-6-10.
  6. // Copyright (c) 2014年 Reese. All rights reserved.
  7. //
  8. #import "JXSearchUserVC.h"
  9. //#import "selectTreeVC.h"
  10. #import "selectProvinceVC.h"
  11. #import "selectValueVC.h"
  12. #import "ImageResize.h"
  13. #import "searchData.h"
  14. #import "JXSearchUserListVC.h"
  15. #define HEIGHT 44
  16. #define STARTTIME_TAG 1
  17. #define IMGSIZE 100
  18. @interface JXSearchUserVC ()<UITextFieldDelegate>
  19. @end
  20. @implementation JXSearchUserVC
  21. @synthesize job,delegate,didSelect;
  22. - (id)init
  23. {
  24. self = [super init];
  25. if (self) {
  26. job = [[searchData alloc] init];
  27. self.isGotoBack = YES;
  28. if (self.type == JXSearchTypeUser) {
  29. self.title = Localized(@"JXNearVC_AddFriends");
  30. }else {
  31. self.title = Localized(@"JX_SearchPublicNumber");
  32. }
  33. self.heightFooter = 0;
  34. self.heightHeader = JX_SCREEN_TOP;
  35. //self.view.frame = CGRectMake(0, 0, JX_SCREEN_WIDTH, JX_SCREEN_HEIGHT); JXNearVC_AddFriends
  36. [self createHeadAndFoot];
  37. int h = 0;
  38. _values = [[NSMutableArray alloc]initWithObjects:Localized(@"JXSearchUserVC_AllDate"),Localized(@"JXSearchUserVC_OneDay"),Localized(@"JXSearchUserVC_TwoDay"),Localized(@"JXSearchUserVC_ThereDay"),Localized(@"JXSearchUserVC_OneWeek"),Localized(@"JXSearchUserVC_TwoWeek"),Localized(@"JXSearchUserVC_OneMonth"),Localized(@"JXSearchUserVC_SixWeek"),Localized(@"JXSearchUserVC_TwoMonth"),nil];
  39. _numbers = [[NSMutableArray alloc]initWithObjects:@"0",@"1",@"2",@"3",@"7",@"14",@"30",@"42",@"60",nil];
  40. // NSString* city = [g_constant getAddressForNumber:g_myself.provinceId cityId:g_myself.cityId areaId:g_myself.areaId];
  41. job.sex = -1;
  42. JXImageView* iv;
  43. NSString *name;
  44. NSString *phoneN;
  45. NSString *input;
  46. if (self.type == JXSearchTypeUser) {
  47. if ([g_config.nicknameSearchUser intValue] != 0 && [g_config.regeditPhoneOrName intValue] == 0) {
  48. name = @"即信号";// Localized(@"JX_NickName");
  49. phoneN = @"或手机号码";//Localized(@"JX_OrPhoneNumber");
  50. input =@"请输入即信号或手机号码"; Localized(@"JX_InputNickName");
  51. }else if([g_config.nicknameSearchUser intValue] == 0 && [g_config.regeditPhoneOrName intValue] == 0) {
  52. name = Localized(@"JX_SearchPhoneNumber");
  53. phoneN = @"";
  54. input = Localized(@"JX_InputPhone");
  55. }else if ([g_config.nicknameSearchUser intValue] == 0 && [g_config.regeditPhoneOrName intValue] == 1) {
  56. name = Localized(@"JX_UserName");
  57. phoneN = @"";
  58. input = Localized(@"JX_InputUserAccount");
  59. }else {
  60. name = Localized(@"JX_NickName");
  61. phoneN = Localized(@"JX_SearchOrUserName");
  62. input = Localized(@"JX_InputNickName");
  63. }
  64. }else {
  65. name = @"";
  66. phoneN = Localized(@"JX_PublicNumber");
  67. input = Localized(@"JX_PleaseEnterThe");
  68. }
  69. iv = [self createButton:[NSString stringWithFormat:@"%@%@",name,phoneN] drawTop:NO drawBottom:YES must:NO click:nil];
  70. iv.frame = CGRectMake(0, h, JX_SCREEN_WIDTH, HEIGHT);
  71. _name = [self createTextField:iv default:job.name hint:[NSString stringWithFormat:@"%@%@",input,phoneN]];
  72. //[_name becomeFirstResponder];
  73. h+=iv.frame.size.height;
  74. /*
  75. iv = [self createButton:Localized(@"JX_Sex") drawTop:NO drawBottom:YES must:NO click:@selector(onSex)];
  76. iv.frame = CGRectMake(0, h, JX_SCREEN_WIDTH, HEIGHT);
  77. _sex = [self createLabel:iv default:Localized(@"JXSearchUserVC_All")];
  78. h+=iv.frame.size.height;
  79. iv = [self createButton:Localized(@"JXSearchUserVC_MinAge") drawTop:NO drawBottom:YES must:NO click:nil];
  80. iv.frame = CGRectMake(0, h, JX_SCREEN_WIDTH, HEIGHT);
  81. _minAge = [self createTextField:iv default:@"0" hint:Localized(@"JXSearchUserVC_MinAge")];
  82. h+=iv.frame.size.height;
  83. iv = [self createButton:Localized(@"JXSearchUserVC_MaxAge") drawTop:NO drawBottom:YES must:NO click:nil];
  84. iv.frame = CGRectMake(0, h, JX_SCREEN_WIDTH, HEIGHT);
  85. _maxAge = [self createTextField:iv default:@"200" hint:Localized(@"JXSearchUserVC_MaxAge")];
  86. h+=iv.frame.size.height;
  87. iv = [self createButton:Localized(@"JXSearchUserVC_AppearTime") drawTop:NO drawBottom:YES must:NO click:@selector(onDate)];
  88. iv.frame = CGRectMake(0, h, JX_SCREEN_WIDTH, HEIGHT);
  89. _date = [self createLabel:iv default:[_values objectAtIndex:0]];
  90. h+=iv.frame.size.height;
  91. */
  92. h+=30;
  93. UIButton* _btn;
  94. _btn = [UIFactory createCommonButton:Localized(@"JX_Seach") target:self action:@selector(onSearch)];
  95. _btn.custom_acceptEventInterval = .25f;
  96. _btn.frame = CGRectMake(15, h, JX_SCREEN_WIDTH-30, 40);
  97. _btn.titleLabel.font = SYSFONT(16);
  98. _btn.layer.masksToBounds = YES;
  99. _btn.layer.cornerRadius = 7.f;
  100. [self.tableBody addSubview:_btn];
  101. }
  102. return self;
  103. }
  104. -(void)dealloc{
  105. // NSLog(@"JXSearchUserVC.dealloc");
  106. self.job = nil;
  107. // [super dealloc];
  108. }
  109. - (void)viewDidLoad
  110. {
  111. [super viewDidLoad];
  112. // Do any additional setup after loading the view.
  113. }
  114. - (void)didReceiveMemoryWarning
  115. {
  116. [super didReceiveMemoryWarning];
  117. // Dispose of any resources that can be recreated.
  118. }
  119. - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
  120. return YES;
  121. }
  122. -(JXImageView*)createButton:(NSString*)title drawTop:(BOOL)drawTop drawBottom:(BOOL)drawBottom must:(BOOL)must click:(SEL)click{
  123. JXImageView* btn = [[JXImageView alloc] init];
  124. btn.backgroundColor = [UIColor whiteColor];
  125. btn.userInteractionEnabled = YES;
  126. btn.delegate = self;
  127. if(click)
  128. btn.didTouch = click;
  129. else
  130. btn.didTouch = @selector(hideKeyboard);
  131. [self.tableBody addSubview:btn];
  132. // [btn release];
  133. if(must){
  134. UILabel* p = [[UILabel alloc] initWithFrame:CGRectMake(INSETS, 5, 20, HEIGHT-5)];
  135. p.text = @"*";
  136. p.font = g_factory.font18;
  137. p.backgroundColor = [UIColor clearColor];
  138. p.textColor = [UIColor redColor];
  139. p.textAlignment = NSTextAlignmentCenter;
  140. [btn addSubview:p];
  141. // [p release];
  142. }
  143. JXLabel* p = [[JXLabel alloc] initWithFrame:CGRectMake(20, 0, JX_SCREEN_WIDTH/2-40, HEIGHT)];
  144. p.text = title;
  145. p.font = g_factory.font16;
  146. p.backgroundColor = [UIColor clearColor];
  147. p.textColor = [UIColor blackColor];
  148. [btn addSubview:p];
  149. // [p release];
  150. if(drawTop){
  151. UIView* line = [[UIView alloc] initWithFrame:CGRectMake(0,0,JX_SCREEN_WIDTH,LINE_WH)];
  152. line.backgroundColor = THE_LINE_COLOR;
  153. [btn addSubview:line];
  154. // [line release];
  155. }
  156. if(drawBottom){
  157. UIView* line = [[UIView alloc]initWithFrame:CGRectMake(0,HEIGHT-LINE_WH,JX_SCREEN_WIDTH,LINE_WH)];
  158. line.backgroundColor = THE_LINE_COLOR;
  159. [btn addSubview:line];
  160. // [line release];
  161. }
  162. if(click){
  163. UIImageView* iv;
  164. iv = [[UIImageView alloc] initWithFrame:CGRectMake(JX_SCREEN_WIDTH-15-7, (HEIGHT-13)/2, 7, 13)];
  165. iv.image = [UIImage imageNamed:@"new_icon_>"];
  166. [btn addSubview:iv];
  167. // [iv release];
  168. }
  169. return btn;
  170. }
  171. -(UITextField*)createTextField:(UIView*)parent default:(NSString*)s hint:(NSString*)hint{
  172. UITextField* p = [[UITextField alloc] initWithFrame:CGRectMake(JX_SCREEN_WIDTH/2-15,0,JX_SCREEN_WIDTH/2+10-15,HEIGHT)];
  173. p.delegate = self;
  174. p.autocorrectionType = UITextAutocorrectionTypeNo;
  175. p.autocapitalizationType = UITextAutocapitalizationTypeNone;
  176. p.enablesReturnKeyAutomatically = YES;
  177. p.borderStyle = UITextBorderStyleNone;
  178. p.returnKeyType = UIReturnKeyDone;
  179. p.clearButtonMode = UITextFieldViewModeWhileEditing;
  180. p.textAlignment = NSTextAlignmentRight;
  181. p.userInteractionEnabled = YES;
  182. p.text = s;
  183. p.placeholder = hint;
  184. p.font = g_factory.font16;
  185. [parent addSubview:p];
  186. // [p release];
  187. return p;
  188. }
  189. -(UILabel*)createLabel:(UIView*)parent default:(NSString*)s{
  190. UILabel* p = [[UILabel alloc] initWithFrame:CGRectMake(JX_SCREEN_WIDTH/2,INSETS,JX_SCREEN_WIDTH/2 - 30,HEIGHT-INSETS*2)];
  191. p.userInteractionEnabled = NO;
  192. p.text = s;
  193. p.font = g_factory.font14;
  194. p.textAlignment = NSTextAlignmentRight;
  195. [parent addSubview:p];
  196. // [p release];
  197. return p;
  198. }
  199. -(void)onSex{
  200. if([self hideKeyboard])
  201. return;
  202. selectValueVC* vc = [selectValueVC alloc];
  203. vc.values = [NSMutableArray arrayWithObjects:Localized(@"JXSearchUserVC_All"),Localized(@"JX_Man"),Localized(@"JX_Wuman"),nil];
  204. vc.selNumber = 0;
  205. vc.numbers = [NSMutableArray arrayWithObjects:@"-1",@"1",@"0",nil];
  206. vc.delegate = self;
  207. vc.didSelect = @selector(onSelSex:);
  208. vc.quickSelect = YES;
  209. vc = [vc init];
  210. // [g_window addSubview:vc.view];
  211. [g_navigation pushViewController:vc animated:YES];
  212. }
  213. -(void)onSelSex:(selectValueVC*)sender{
  214. if([self hideKeyboard])
  215. return;
  216. _sex.text = sender.selValue;
  217. job.sex = sender.selNumber;
  218. }
  219. -(void)onDate{
  220. if([self hideKeyboard])
  221. return;
  222. selectValueVC* vc = [selectValueVC alloc];
  223. vc.values = _values;
  224. vc.selNumber = 0;
  225. vc.numbers = _numbers;
  226. vc.delegate = self;
  227. vc.didSelect = @selector(onSelDate:);
  228. vc.quickSelect = YES;
  229. vc = [vc init];
  230. // [g_window addSubview:vc.view];
  231. [g_navigation pushViewController:vc animated:YES];
  232. }
  233. -(void)onSelDate:(selectValueVC*)sender{
  234. job.showTime = sender.selNumber;
  235. _date.text = sender.selValue;
  236. }
  237. -(void)onSearch{
  238. if ([_name.text isEqualToString:@""]) {
  239. if (self.type == JXSearchTypeUser) {
  240. if ([g_config.nicknameSearchUser intValue] == 0 && [g_config.regeditPhoneOrName intValue] == 0) {
  241. [g_App showAlert:Localized(@"JX_InputPhone")];
  242. }else if ([g_config.nicknameSearchUser intValue] == 0 && [g_config.regeditPhoneOrName intValue] == 1){
  243. [g_App showAlert:Localized(@"JX_InputUserAccount")];
  244. }else {
  245. [g_App showAlert:Localized(@"JX_InputNickName")];
  246. }
  247. }else {
  248. [g_App showAlert:Localized(@"JX_PleaseEnterTheServerNo.")];
  249. }
  250. }else{
  251. job.name = _name.text;
  252. job.minAge = [_minAge.text intValue];
  253. job.maxAge = [_maxAge.text intValue];
  254. [self actionQuit];
  255. JXSearchUserListVC *vc = [[JXSearchUserListVC alloc] init];
  256. if (self.type == JXSearchTypeUser) {
  257. vc.isUserSearch = YES;
  258. }else {
  259. vc.isUserSearch = NO;
  260. }
  261. vc.keyWorld = _name.text;
  262. vc.search = job;
  263. [g_navigation pushViewController:vc animated:YES];
  264. // if (delegate && [delegate respondsToSelector:didSelect])
  265. //// [delegate performSelector:didSelect withObject:job];
  266. // [delegate performSelectorOnMainThread:didSelect withObject:job waitUntilDone:NO];
  267. }
  268. }
  269. -(BOOL)hideKeyboard{
  270. BOOL b = _name.editing;
  271. [self.view endEditing:YES];
  272. return b;
  273. }
  274. - (BOOL)textFieldShouldReturn:(UITextField *)textField
  275. {
  276. [self.view endEditing:YES];
  277. return YES;
  278. }
  279. @end