selectValueVC.m 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. //
  2. // selectValueVC.m
  3. // sjvodios
  4. //
  5. // Created by on 12-5-29.
  6. // Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
  7. //
  8. #import "selectValueVC.h"
  9. @implementation selectValueVC
  10. @synthesize values;
  11. @synthesize selected;
  12. @synthesize delegate;
  13. @synthesize didSelect;
  14. @synthesize selValue;
  15. @synthesize numbers;
  16. @synthesize selNumber;
  17. - (id)init
  18. {
  19. self = [super init];
  20. if (self) {
  21. if(numbers)
  22. selected = (int)[numbers indexOfObject:[NSNumber numberWithInt:selNumber]];
  23. self.title = Localized(@"selectValueVC_SelOne");
  24. self.heightHeader = JX_SCREEN_TOP;
  25. self.heightFooter = 0;
  26. //self.view.frame = g_window.bounds;
  27. self.isGotoBack = YES;
  28. [self createHeadAndFoot];
  29. self.tableBody.backgroundColor = [UIColor whiteColor];
  30. UIButton* btn;
  31. int h=9;h1=38;
  32. int w=JX_SCREEN_WIDTH-9*2;
  33. NSString* s;
  34. for(int i=0;i<[values count];i++){
  35. if(i==[values count]-1)
  36. s = @"set_list_down";
  37. else
  38. s = @"set_list_up";
  39. btn = [self createButton:i bkImg:s];
  40. btn.frame = CGRectMake(9, h, w, h1);
  41. h+=btn.frame.size.height;
  42. }
  43. h+=9;
  44. if(!self.quickSelect){
  45. btn = [UIFactory createButtonWithTitle:Localized(@"JX_Finish")
  46. titleFont:g_factory.font15
  47. titleColor:[UIColor whiteColor]
  48. normal:@"button_orange"
  49. highlight:@"button_orange_press" ];
  50. [btn addTarget:self action:@selector(onFinish) forControlEvents:UIControlEventTouchUpInside];
  51. btn.frame = CGRectMake(9, h, w, h1);
  52. [self.tableBody addSubview:btn];
  53. h+=btn.frame.size.height;
  54. }
  55. if (self.tableBody.frame.size.height < h) {
  56. self.tableBody.contentSize = CGSizeMake(self_width, h);
  57. }
  58. if(h>JX_SCREEN_HEIGHT-JX_SCREEN_TOP)
  59. self.tableBody.scrollEnabled = YES;
  60. }
  61. return self;
  62. }
  63. -(void)dealloc{
  64. // NSLog(@"selectValueVC.dealloc");
  65. self.values = nil;
  66. self.selValue = nil;
  67. self.numbers = nil;
  68. // [super dealloc];
  69. }
  70. - (void)didReceiveMemoryWarning
  71. {
  72. // Releases the view if it doesn't have a superview.
  73. [super didReceiveMemoryWarning];
  74. // Release any cached data, images, etc that aren't in use.
  75. }
  76. - (void)viewWillAppear:(BOOL)animated
  77. {
  78. [super viewWillAppear:animated];
  79. }
  80. - (void)viewDidAppear:(BOOL)animated
  81. {
  82. [super viewDidAppear:animated];
  83. }
  84. - (void)viewDidUnload
  85. {
  86. [super viewDidUnload];
  87. }
  88. - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
  89. {
  90. // Return YES for supported orientations
  91. return (interfaceOrientation == UIInterfaceOrientationPortrait);
  92. }
  93. -(UIButton*)createButton:(int)n bkImg:(NSString*)bkImg{
  94. NSString* s= [bkImg stringByAppendingString:@"_press"];
  95. UIButton* btn = [UIFactory createButtonWithTitle:nil titleFont:nil titleColor:nil normal:bkImg highlight:s selected:s];
  96. [btn addTarget:self action:@selector(onSelect:) forControlEvents:UIControlEventTouchUpInside];
  97. btn.tag = n;
  98. [self.tableBody addSubview:btn];
  99. UILabel* p = [[UILabel alloc] initWithFrame:CGRectMake(8, 0, JX_SCREEN_WIDTH-9*2-8*2-20, h1)];
  100. p.text = [values objectAtIndex:n];
  101. p.font = g_factory.font15;
  102. p.textColor = [UIColor blackColor];
  103. [btn addSubview:p];
  104. // [p release];
  105. UIView *line = [[UIView alloc] initWithFrame:CGRectMake(0, p.frame.size.height - LINE_WH, JX_SCREEN_WIDTH, LINE_WH)];
  106. line.backgroundColor = HEXCOLOR(0xdcdcdc);
  107. [btn addSubview:line];
  108. UIImageView* iv = [[UIImageView alloc] initWithFrame:CGRectMake(JX_SCREEN_WIDTH-9*2-5-20, 9, 20, 20)];
  109. iv.image = [UIImage imageNamed:@"icon_selected"];
  110. iv.tag = -n-1;
  111. [btn addSubview:iv];
  112. // [iv release];
  113. iv.hidden = n != selected;
  114. return btn;
  115. }
  116. -(void)onSelect:(UIButton*)sender{
  117. UIView* p = [self.tableBody viewWithTag:-selected-1];
  118. p.hidden = YES;
  119. p = nil;
  120. [sender viewWithTag:-sender.tag-1].hidden = NO;
  121. selected = (int)sender.tag;
  122. if(self.quickSelect)
  123. [self onFinish];
  124. }
  125. -(void)getValuesfromArray:(NSArray*)a name:(NSString*)name{
  126. self.values = [[NSMutableArray alloc]init];
  127. for(int i=0;i<[a count];i++){
  128. NSDictionary* p = [a objectAtIndex:i];
  129. [values addObject:[p objectForKey:name]];
  130. p = nil;
  131. }
  132. }
  133. -(void)onFinish{
  134. if(selected>=[self.values count] || selected == NSNotFound)
  135. return;
  136. self.selNumber = [[numbers objectAtIndex:selected] intValue];
  137. self.selValue = [values objectAtIndex:selected];
  138. if (delegate && [delegate respondsToSelector:didSelect]) {
  139. // [delegate performSelector:didSelect withObject:self];
  140. [delegate performSelectorOnMainThread:didSelect withObject:self waitUntilDone:NO];
  141. }
  142. [self actionQuit];
  143. }
  144. @end