JXOpenRedPacketVC.m 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. //
  2. // JXOpenRedPacketVC.m
  3. // shiku_im
  4. //
  5. // Created by Apple on 16/8/30.
  6. // Copyright © 2016年 Reese. All rights reserved.
  7. //
  8. #import "JXOpenRedPacketVC.h"
  9. #import "JXredPacketDetailVC.h"
  10. @interface JXOpenRedPacketVC ()
  11. @end
  12. @implementation JXOpenRedPacketVC
  13. - (instancetype)init
  14. {
  15. self = [super init];
  16. if (self) {
  17. self.view.frame = CGRectMake(0, 0, JX_SCREEN_WIDTH, JX_SCREEN_HEIGHT);
  18. self.view.backgroundColor = [UIColor clearColor];
  19. _wait = [ATMHud sharedInstance];
  20. _pSelf = self;
  21. }
  22. return self;
  23. }
  24. - (void)viewDidLoad {
  25. [super viewDidLoad];
  26. self.view.frame = CGRectMake(0, 0, JX_SCREEN_WIDTH, JX_SCREEN_HEIGHT);
  27. _wait = [ATMHud sharedInstance];
  28. self.blackBgView = [[UIView alloc] initWithFrame:self.view.bounds];
  29. self.blackBgView.backgroundColor = [UIColor blackColor];
  30. self.blackBgView.alpha = 0.15;
  31. [self.view addSubview:self.blackBgView];
  32. self.centerRedPView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 240, 288)];
  33. self.centerRedPView.center = self.view.center;
  34. [self.view addSubview:self.centerRedPView];
  35. UIImageView *redBgImage = [[UIImageView alloc] initWithFrame:self.centerRedPView.bounds];
  36. redBgImage.image = [UIImage imageNamed:Localized(@"JX_BigRed")];
  37. [self.centerRedPView addSubview:redBgImage];
  38. self.headerImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 40, 48, 48)];
  39. self.headerImageView.center = CGPointMake(self.centerRedPView.frame.size.width / 2, self.headerImageView.center.y);
  40. self.headerImageView.image = [UIImage imageNamed:@"avatar_normal"];
  41. [self.centerRedPView addSubview:self.headerImageView];
  42. self.fromUserLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, CGRectGetMaxY(self.headerImageView.frame) + 7, self.centerRedPView.frame.size.width, 21)];
  43. self.fromUserLabel.textAlignment = NSTextAlignmentCenter;
  44. self.fromUserLabel.text = Localized(@"JX_LuckyStar");
  45. self.fromUserLabel.textColor = [UIColor whiteColor];
  46. self.fromUserLabel.font = [UIFont systemFontOfSize:15.0];
  47. [self.centerRedPView addSubview:self.fromUserLabel];
  48. self.greetLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, CGRectGetMaxY(self.fromUserLabel.frame) + 8, self.centerRedPView.frame.size.width, 21)];
  49. self.greetLabel.textAlignment = NSTextAlignmentCenter;
  50. self.greetLabel.text = Localized(@"JX_KungHeiFatChoi");
  51. self.greetLabel.textColor = [UIColor whiteColor];
  52. self.greetLabel.font = [UIFont systemFontOfSize:14.0];
  53. [self.centerRedPView addSubview:self.greetLabel];
  54. self.moneyLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, CGRectGetMaxY(self.greetLabel.frame) + 12, 122, 45)];
  55. self.moneyLabel.textAlignment = NSTextAlignmentCenter;
  56. self.moneyLabel.center = CGPointMake(self.centerRedPView.frame.size.width / 2, self.moneyLabel.center.y);
  57. self.moneyLabel.text = @"100.01";
  58. self.moneyLabel.textColor = [UIColor yellowColor];
  59. self.moneyLabel.font = [UIFont systemFontOfSize:32.0];
  60. [self.centerRedPView addSubview:self.moneyLabel];
  61. UILabel *yuan = [[UILabel alloc] initWithFrame:CGRectMake(CGRectGetMaxX(self.moneyLabel.frame), self.moneyLabel.frame.origin.y + 15, 17, 16)];
  62. yuan.textAlignment = NSTextAlignmentCenter;
  63. yuan.text = Localized(@"JX_ChinaMoney");
  64. yuan.textColor = [UIColor blackColor];
  65. yuan.font = [UIFont systemFontOfSize:13.0];
  66. [self.centerRedPView addSubview:yuan];
  67. UIButton *closeBtn = [[UIButton alloc] initWithFrame:CGRectMake(self.centerRedPView.frame.size.width - 30, 0, 30, 30)];
  68. [closeBtn setTitle:@"X" forState:UIControlStateNormal];
  69. closeBtn.titleLabel.font = [UIFont systemFontOfSize:15.0];
  70. [closeBtn setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
  71. [closeBtn addTarget:self action:@selector(back:) forControlEvents:UIControlEventTouchUpInside];
  72. [self.centerRedPView addSubview:closeBtn];
  73. UIButton *detailBtn = [[UIButton alloc] initWithFrame:CGRectMake(0, self.centerRedPView.frame.size.height - 53, self.centerRedPView.frame.size.width, 30)];
  74. [detailBtn setTitle:Localized(@"JX_ShowDetail") forState:UIControlStateNormal];
  75. detailBtn.titleLabel.font = [UIFont systemFontOfSize:15.0];
  76. [detailBtn setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
  77. [detailBtn addTarget:self action:@selector(toRedPacketDetail:) forControlEvents:UIControlEventTouchUpInside];
  78. [self.centerRedPView addSubview:detailBtn];
  79. }
  80. - (void)viewWillAppear:(BOOL)animated{
  81. [super viewWillAppear:animated];
  82. [self shakeToShow:_centerRedPView];
  83. //解析数据,获取红包详情
  84. _packetObj = [JXPacketObject getPacketObject:_dataDict];
  85. _packetListArray = [JXGetPacketList getPackList:_dataDict];
  86. [self setViewSize];
  87. [self setViewData];
  88. }
  89. -(void)setViewSize{
  90. _headerImageView.layer.cornerRadius = 24;
  91. _headerImageView.clipsToBounds = YES;
  92. }
  93. -(void)setViewData{
  94. [g_server getHeadImageSmall:_packetObj.userId userName:_packetObj.userName imageView:_headerImageView];
  95. _fromUserLabel.text = _packetObj.userName;
  96. _greetLabel.text = _packetObj.greetings;
  97. // //1是普通红包,2是手气红包
  98. // if (_packetObj.type == 1) {
  99. // _moneyLabel.text = [NSString stringWithFormat:@"%ld",_packetObj.money];
  100. // }else if (_packetObj.type == 2){
  101. for (JXGetPacketList * listObj in _packetListArray) {
  102. NSString * userIdStr = [NSString stringWithFormat:@"%@",listObj.userId];
  103. if ([MY_USER_ID isEqualToString:userIdStr]) {
  104. _moneyLabel.text = [NSString stringWithFormat:@"%.2f",listObj.money];
  105. }
  106. // }
  107. }
  108. }
  109. - (void)didReceiveMemoryWarning {
  110. [super didReceiveMemoryWarning];
  111. // Dispose of any resources that can be recreated.
  112. }
  113. - (IBAction)back:(id)sender {
  114. [self quitOutAnimate];
  115. }
  116. - (IBAction)toRedPacketDetail:(id)sender {
  117. JXredPacketDetailVC * redPacketDetailVC = [[JXredPacketDetailVC alloc]init];
  118. redPacketDetailVC.dataDict = [[NSDictionary alloc]initWithDictionary:self.dataDict];
  119. // [g_window addSubview:redPacketDetailVC.view];
  120. [g_navigation pushViewController:redPacketDetailVC animated:YES];
  121. [self quitOutAnimate];
  122. }
  123. /*
  124. #pragma mark - Navigation
  125. // In a storyboard-based application, you will often want to do a little preparation before navigation
  126. - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
  127. // Get the new view controller using [segue destinationViewController].
  128. // Pass the selected object to the new view controller.
  129. }
  130. */
  131. -(void)quitOutAnimate{
  132. _blackBgView.alpha = 0.0;
  133. [self viewControllerSmallAnimation:self];
  134. }
  135. - (void)doRemove{
  136. [self.view removeFromSuperview];
  137. _pSelf = nil;
  138. }
  139. - (void)dealloc {
  140. // [_headerImageView release];
  141. // [_fromUserLabel release];
  142. // [_greetLabel release];
  143. // [_moneyLabel release];
  144. // [_centerRedPView release];
  145. // [_blackBgView release];
  146. // [super dealloc];
  147. }
  148. - (void)shakeToShow:(UIView*)aView{
  149. CAKeyframeAnimation* animation = [CAKeyframeAnimation animationWithKeyPath:@"transform"];
  150. animation.duration = 0.5;
  151. NSMutableArray *values = [NSMutableArray array];
  152. [values addObject:[NSValue valueWithCATransform3D:CATransform3DMakeScale(0.1, 0.1, 1.0)]];
  153. [values addObject:[NSValue valueWithCATransform3D:CATransform3DMakeScale(1.2, 1.2, 1.0)]];
  154. [values addObject:[NSValue valueWithCATransform3D:CATransform3DMakeScale(0.9, 0.9, 1.0)]];
  155. [values addObject:[NSValue valueWithCATransform3D:CATransform3DMakeScale(1.0, 1.0, 1.0)]];
  156. animation.values = values;
  157. [aView.layer addAnimation:animation forKey:nil];
  158. }
  159. - (void)viewControllerSmallAnimation:(UIViewController *)aView{
  160. [UIView beginAnimations:@"doViewSmall" context:nil];
  161. [UIView setAnimationDuration:0.3];
  162. [UIView setAnimationDelegate:aView];
  163. [UIView setAnimationDidStopSelector:@selector(doRemove)];
  164. CGAffineTransform newTransform = CGAffineTransformScale(aView.view.transform, 0.1, 0.1);
  165. [aView.view setTransform:newTransform];
  166. [UIView commitAnimations];
  167. }
  168. @end