JXRedPackageViewController.m 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611
  1. //
  2. // JXRedPackageViewController.m
  3. // shiku_im
  4. //
  5. // Created by qiudezheng on 2020/4/21.
  6. // Copyright © 2020 Reese. All rights reserved.
  7. //
  8. #import "JXRedPackageViewController.h"
  9. #import "JXGiftViewController.h"
  10. #import "JXRelayVC.h"
  11. #import "XMGRoolLinghtVIew.h"
  12. #import "UUMarqueeView.h"
  13. #import "JXBigReelVc.h"
  14. #import "JXActiveDetailVc.h"
  15. @interface JXRedPackageViewController ()<UUMarqueeViewDelegate>
  16. @property(strong,nonatomic)UIView * navigationView;
  17. @property(strong,nonatomic)UIView * views;
  18. @property(strong,nonatomic)UIView * backView;
  19. @property(strong,nonatomic)UILabel * balanceLabel;
  20. @property(strong,nonatomic)UIImageView * backImageView;
  21. @property(strong,nonatomic)UIButton * backButton;
  22. @property(strong,nonatomic)NSTimer * timer;
  23. @property(strong,nonatomic)CALayer * moveLayer;
  24. @property(assign,nonatomic)int count;
  25. @property(strong,nonatomic)NSString * balanceTime;
  26. @property(strong,nonatomic)UIImageView * redOpenImage;
  27. @property(strong,nonatomic)UILabel * coinLabel;
  28. @property(strong,nonatomic)NSString * shareContent;
  29. @property (nonatomic,weak) XMGRoolLinghtVIew *rolVIew;
  30. @property (nonatomic, strong) UUMarqueeView *upwardMultiMarqueeView;
  31. @property (nonatomic,strong) NSMutableArray *dataArr;
  32. @end
  33. @implementation JXRedPackageViewController
  34. - (void)viewDidLoad {
  35. [super viewDidLoad];
  36. self.view.backgroundColor = [UIColor whiteColor];
  37. self.title = @"红包雨";
  38. _dataArr=[NSMutableArray array];
  39. self.balanceTime = @"0";
  40. self.navigationController.navigationBar.hidden = NO;
  41. [self initNavigationView];
  42. [self initComponents];
  43. [self invatePageHistory];
  44. self.backView = [[UIView alloc]initWithFrame:CGRectMake(0, self.navigationView.frame.origin.y + self.navigationView.frame.size.height, JX_SCREEN_WIDTH, JX_SCREEN_HEIGHT - (self.navigationView.frame.origin.y + self.navigationView.frame.size.height))];
  45. self.backView.backgroundColor = [UIColor blackColor];
  46. self.backView.alpha = 0.0f;
  47. [self.view addSubview:self.backView];
  48. UITapGestureRecognizer * backTap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(backTaps:)];
  49. backTap.numberOfTapsRequired = 1;
  50. backTap.numberOfTouchesRequired = 1;
  51. self.backView.userInteractionEnabled = YES;
  52. [self.backView addGestureRecognizer:backTap];
  53. self.balanceLabel = [[UILabel alloc]initWithFrame:CGRectMake(0, JX_SCREEN_HEIGHT - 100, JX_SCREEN_WIDTH, 50)];
  54. self.balanceLabel.text = @"剩余抢红包次数:次";
  55. self.balanceLabel.textColor = [UIColor whiteColor];
  56. self.balanceLabel.font = [UIFont systemFontOfSize:16.0f];
  57. self.balanceLabel.textAlignment = NSTextAlignmentCenter;
  58. [self.view addSubview:self.balanceLabel];
  59. // UIButton *lefImg= [[UIButton alloc]initWithFrame:CGRectMake(15,JX_SCREEN_HEIGHT-42-10, 140, 42)];
  60. // lefImg.layer.cornerRadius = 12;
  61. // lefImg.backgroundColor = [UIColor whiteColor];
  62. // [lefImg setTitleColor:kRGBColor(91, 19, 19) forState:UIControlStateNormal];
  63. // [lefImg setTitle:@"活动详情" forState:UIControlStateNormal];
  64. // lefImg.tag=0;
  65. // [self.view addSubview:lefImg];
  66. // [lefImg addTarget:self action:@selector(lefIMGClick:) forControlEvents:UIControlEventTouchUpInside];
  67. //
  68. // UIButton *rightImg= [[UIButton alloc]initWithFrame:CGRectMake(JX_SCREEN_WIDTH-140-15, JX_SCREEN_HEIGHT-42-10, 140, 42)];
  69. // rightImg.tag=1;
  70. // rightImg.layer.cornerRadius = 12;
  71. // rightImg.backgroundColor = [UIColor whiteColor];
  72. // [rightImg setTitle:@"我要参与" forState:UIControlStateNormal];
  73. // [rightImg setTitleColor:kRGBColor(91, 19, 19) forState:UIControlStateNormal];
  74. // // [rightImg setBackgroundImage:[UIImage imageNamed:@"huodongxq"] forState:UIControlStateNormal];
  75. // [self.view addSubview:rightImg];
  76. // [rightImg addTarget:self action:@selector(lefIMGClick:) forControlEvents:UIControlEventTouchUpInside];
  77. //
  78. self.redOpenImage = [[UIImageView alloc]initWithFrame:CGRectMake(60, JX_SCREEN_HEIGHT - 30, JX_SCREEN_WIDTH - 120, 1.327f * (JX_SCREEN_WIDTH - 120))];
  79. self.redOpenImage.image = [UIImage imageNamed:@"redPackageOpen"];
  80. self.redOpenImage.alpha = 0.0f;
  81. [self.view addSubview:self.redOpenImage];
  82. self.coinLabel = [[UILabel alloc]initWithFrame:CGRectMake(0, self.redOpenImage.frame.size.height / 2 - 50, self.redOpenImage.frame.size.width, 50)];
  83. self.coinLabel.text = @"获得xx既信币";
  84. self.coinLabel.textColor = [UIColor colorWithRed:230/255.0f green:41/255.0f blue:94/255.0f alpha:1.0f];
  85. self.coinLabel.font = [UIFont systemFontOfSize:15.0f];
  86. self.coinLabel.textAlignment = NSTextAlignmentCenter;
  87. [self.redOpenImage addSubview:self.coinLabel];
  88. UIButton * shareButton = [UIButton buttonWithType:UIButtonTypeCustom];
  89. shareButton.frame = CGRectMake(self.redOpenImage.frame.size.width / 2 - self.redOpenImage.frame.size.width / 2 / 2, self.redOpenImage.frame.size.height - 50, self.redOpenImage.frame.size.width / 2, 30);
  90. [shareButton setBackgroundColor:[UIColor whiteColor]];
  91. [shareButton setTitle:@"分享给好友" forState:UIControlStateNormal];
  92. [shareButton setTitleColor:self.coinLabel.textColor forState:UIControlStateNormal];
  93. [shareButton.titleLabel setFont:[UIFont systemFontOfSize:14.0f]];
  94. [shareButton.layer setCornerRadius:15.0f];
  95. [shareButton.layer setMasksToBounds:YES];
  96. self.redOpenImage.userInteractionEnabled = YES;
  97. [shareButton addTarget:self action:@selector(shareButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
  98. [self.redOpenImage addSubview:shareButton];
  99. }
  100. -(void)lefIMGClick:(UIButton *)sender{
  101. if (sender.tag==0) {
  102. JXActiveDetailVc *vc=[JXActiveDetailVc new];
  103. [g_navigation pushViewController:vc animated:YES];
  104. }else{
  105. JXBigReelVc *vc=[JXBigReelVc new];
  106. [g_navigation pushViewController:vc animated:YES];
  107. }
  108. }
  109. - (void)invatePageHistory{
  110. // XMGRoolLinghtVIew *rolVIew=[XMGRoolLinghtVIew XIBXMGRoolLinghtView];
  111. // rolVIew.frame=CGRectMake(30, JX_SCREEN_HEIGHT - 200- 50, JX_SCREEN_WIDTH-60, 160);
  112. // rolVIew.backgroundColor=[UIColor colorWithWhite:0.0 alpha:0.2];
  113. //
  114. // [self.view addSubview:rolVIew];
  115. // self.rolVIew=rolVIew;
  116. //_dataArr=[packageRoolModel mj_objectArrayWithKeyValuesArray:array];
  117. _upwardMultiMarqueeView = [[UUMarqueeView alloc] initWithFrame:CGRectMake(30, JX_SCREEN_HEIGHT-250,JX_SCREEN_WIDTH-60 , 150)];
  118. _upwardMultiMarqueeView.backgroundColor=[UIColor colorWithWhite:0.0 alpha:0.2];
  119. _upwardMultiMarqueeView.delegate = self;
  120. _upwardMultiMarqueeView.timeIntervalPerScroll = 1.0f;
  121. _upwardMultiMarqueeView.timeDurationPerScroll = 0.5f;
  122. _upwardMultiMarqueeView.touchEnabled = YES;
  123. _upwardMultiMarqueeView.layer.cornerRadius=5;
  124. _upwardMultiMarqueeView.layer.masksToBounds=YES;
  125. _upwardMultiMarqueeView.userInteractionEnabled=NO;
  126. [self.view addSubview:_upwardMultiMarqueeView];
  127. [_upwardMultiMarqueeView reloadData];
  128. long time = (long)[[NSDate date] timeIntervalSince1970];
  129. time = (time *1000 + g_server.timeDifference);
  130. NSString *salt = [NSString stringWithFormat:@"%ld", time];
  131. [SVProgressHUD show];
  132. [g_server getRedPacketInvestPackageHistory:salt andToView:self];
  133. }
  134. -(void)backTaps:(UITapGestureRecognizer *)ges
  135. {
  136. CGRect redRect = self.redOpenImage.frame;
  137. redRect = CGRectMake(self.redOpenImage.frame.origin.x,JX_SCREEN_HEIGHT - 30, self.redOpenImage.frame.size.width, self.redOpenImage.frame.size.height);
  138. [UIView animateWithDuration:0.5 animations:^{
  139. self.redOpenImage.frame = redRect;
  140. self.redOpenImage.alpha = 0.0f;
  141. self.backView.alpha = 0.0f;
  142. }];
  143. }
  144. // http://47.57.16.13:8092/user/investPackage/surplusCount?&language=zh&secret=XKoOXUlOA8IeF2sGiGE3BA==&salt=1588238625426&access_token=28b16d3b511c4f778ec87a90f9eae167
  145. // http://47.57.16.13:8092/user/investPackage/history
  146. -(void)shareButtonClicked:(UIButton *)sender
  147. {
  148. JXMessageObject *msg=[[JXMessageObject alloc] init];
  149. msg.type = [NSNumber numberWithInt:kWCMessageTypeText];
  150. // msg.toUserId = _user.userId;
  151. msg.fromUserId = MY_USER_ID;
  152. msg.fromUserName = g_server.myself.userNickname;
  153. msg.content = self.shareContent;
  154. msg.timeSend = [NSDate date];
  155. CGRect redRect = self.redOpenImage.frame;
  156. redRect = CGRectMake(self.redOpenImage.frame.origin.x,JX_SCREEN_HEIGHT - 30, self.redOpenImage.frame.size.width, self.redOpenImage.frame.size.height);
  157. [UIView animateWithDuration:0.5 animations:^{
  158. self.redOpenImage.frame = redRect;
  159. self.redOpenImage.alpha = 0.0f;
  160. self.backView.alpha = 0.0f;
  161. }];
  162. JXRelayVC * relay = [[JXRelayVC alloc] init];
  163. NSMutableArray *array = [NSMutableArray arrayWithObject:msg];
  164. relay.relayMsgArray = array;
  165. relay.isUrl = NO;
  166. relay.pushType = @"messageContent";
  167. [g_navigation pushViewController:relay animated:YES];
  168. }
  169. -(void)getBalanceRedPackage
  170. {
  171. long time = (long)[[NSDate date] timeIntervalSince1970];
  172. time = (time *1000 + g_server.timeDifference);
  173. NSString *salt = [NSString stringWithFormat:@"%ld", time];
  174. // [g_server getRedPacketBalanceTimesToViewBySalt:salt andCompletion:^(NSDictionary * dict) {
  175. //
  176. // }];
  177. [SVProgressHUD show];
  178. [g_server getRedPacketBalanceTimesToViewBySalt:salt andToView:self];
  179. }
  180. -(void) didServerResultSucces:(JXConnection*)aDownload dict:(NSDictionary*)dict array:(NSArray*)array1{
  181. // [_wait hide];
  182. if([aDownload.action isEqualToString:act_GetinvestPackageHistory])
  183. {
  184. dispatch_async(dispatch_get_main_queue(), ^{
  185. _dataArr=[packageRoolModel mj_objectArrayWithKeyValuesArray:array1];
  186. [_upwardMultiMarqueeView reloadData];
  187. // self.rolVIew.dataArr = [NSMutableArray arrayWithObjects:@"1",@"2",@"3",@"4",@"5",@"1",@"2",@"3",@"4",@"5", nil];
  188. });
  189. NSLog(@"acccc2%@",array1);
  190. }
  191. if ([aDownload.action isEqualToString:act_GetBalanceRedTimes])
  192. {
  193. self.balanceLabel.text = [NSString stringWithFormat:@"剩余抢红包次数:%@次",[dict objectForKey:@"surplusCount"]];
  194. NSString * balance = [NSString stringWithFormat:@"%@",[dict objectForKey:@"surplusCount"]];
  195. if(balance != nil && balance.length != 0 && ![balance isEqualToString:@"(null)"] && ![balance isEqualToString:@"<null>"])
  196. {
  197. [SVProgressHUD dismiss];
  198. [self startRedPackerts];
  199. self.balanceTime = balance;
  200. NSMutableAttributedString *balanceStr = [[NSMutableAttributedString alloc] initWithString:self.balanceLabel.text];
  201. [balanceStr addAttribute:NSForegroundColorAttributeName value:[UIColor yellowColor] range:NSMakeRange(8, balance.length)];
  202. [balanceStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:20.0f] range:NSMakeRange(8, balance.length)];
  203. self.balanceLabel.attributedText = balanceStr;
  204. }
  205. }
  206. if([aDownload.action isEqualToString:act_GetRedPackageInfo])
  207. {
  208. [SVProgressHUD dismiss];
  209. self.coinLabel.text = [NSString stringWithFormat:@"获得%@既信币",[dict objectForKey:@"money"]];
  210. NSString * moeny = [NSString stringWithFormat:@"%@",[dict objectForKey:@"money"]];
  211. if(moeny != nil && moeny.length != 0 && ![moeny isEqualToString:@"(null)"] && ![moeny isEqualToString:@"<null>"])
  212. {
  213. CGRect redRect = self.redOpenImage.frame;
  214. redRect = CGRectMake(self.redOpenImage.frame.origin.x,JX_SCREEN_HEIGHT / 2 - (1.327f * (JX_SCREEN_WIDTH - 120))/2 , self.redOpenImage.frame.size.width, self.redOpenImage.frame.size.height);
  215. [UIView animateWithDuration:0.5 animations:^{
  216. self.redOpenImage.frame = redRect;
  217. self.redOpenImage.alpha = 1.0f;
  218. self.backView.alpha = 0.7f;
  219. }];
  220. long time = (long)[[NSDate date] timeIntervalSince1970];
  221. time = (time *1000 + g_server.timeDifference);
  222. NSString *salt = [NSString stringWithFormat:@"%ld", time];
  223. [g_server getRedPacketBalanceTimesToViewBySalt:salt andToView:self];
  224. self.shareContent = [NSString stringWithFormat:@"我获得了%@既信币",moeny];
  225. }
  226. }
  227. }
  228. -(int) didServerResultFailed:(JXConnection*)aDownload dict:(NSDictionary*)dict{
  229. NSString * errorCode = [NSString stringWithFormat:@"%@",[dict objectForKey:@"resultMsg"]];
  230. if([errorCode isEqualToString:@"权限验证失败"])
  231. {
  232. if ([aDownload.action isEqualToString:act_GetBalanceRedTimes])
  233. {
  234. long time = (long)[[NSDate date] timeIntervalSince1970];
  235. time = (time *1000 + g_server.timeDifference);
  236. NSString *salt = [NSString stringWithFormat:@"%ld", time];
  237. [g_server getRedPacketBalanceTimesToViewBySalt:salt andToView:self];
  238. }
  239. if([aDownload.action isEqualToString:act_GetRedPackageInfo])
  240. {
  241. long time = (long)[[NSDate date] timeIntervalSince1970];
  242. time = (time *1000 + g_server.timeDifference);
  243. NSString *salt = [NSString stringWithFormat:@"%ld", time];
  244. [g_server getRedPacktBy:salt andToView:self];
  245. }
  246. }
  247. else
  248. {
  249. [SVProgressHUD showErrorWithStatus:[NSString stringWithFormat:@"%@",[dict objectForKey:@"resultMsg"]]];
  250. }
  251. if( [aDownload.action isEqualToString:act_UserLogout] ){
  252. [self performSelector:@selector(doSwitch) withObject:nil afterDelay:1];
  253. }
  254. return hide_error;
  255. }
  256. - (void)doSwitch{}
  257. -(void)initNavigationView
  258. {
  259. self.navigationView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, JX_SCREEN_WIDTH, JX_SCREEN_HEIGHT>=812?88:64)];
  260. self.navigationView.backgroundColor = [UIColor whiteColor];
  261. [self.view addSubview:self.navigationView];
  262. UILabel * titleLabel = [[UILabel alloc]initWithFrame:CGRectMake(0, JX_SCREEN_TOP - 40, JX_SCREEN_WIDTH, 40)];
  263. titleLabel.text = @"红包雨";
  264. titleLabel.textColor = [UIColor blackColor];
  265. titleLabel.font = [UIFont systemFontOfSize:18.0f];
  266. titleLabel.textAlignment = NSTextAlignmentCenter;
  267. [self.navigationView addSubview:titleLabel];
  268. self.backButton = [UIButton buttonWithType:UIButtonTypeCustom];
  269. self.backButton.frame = CGRectMake(15, 30, 30, 30);
  270. if(JX_SCREEN_HEIGHT >= 812)
  271. {
  272. self.backButton.frame = CGRectMake(15, 45, 30, 30);
  273. }
  274. [self.backButton setImage:[UIImage imageNamed:@"title_back_black"] forState:UIControlStateNormal];
  275. [self.backButton addTarget:self action:@selector(backButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
  276. [self.navigationView addSubview:self.backButton];
  277. }
  278. -(void)initComponents
  279. {
  280. self.backImageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, self.navigationView.frame.size.height, JX_SCREEN_WIDTH, JX_SCREEN_HEIGHT - (self.navigationView.frame.size.height))];
  281. self.backImageView.image = [UIImage imageNamed:@"redpackagebackimage"];
  282. [self.view addSubview:self.backImageView];
  283. }
  284. -(void)viewWillAppear:(BOOL)animated
  285. {
  286. [self getBalanceRedPackage];
  287. if (_upwardMultiMarqueeView) {
  288. [_upwardMultiMarqueeView start];
  289. }
  290. }
  291. - (void)addAnimation
  292. {
  293. CAKeyframeAnimation * moveAnimation = [CAKeyframeAnimation animationWithKeyPath:@"position"];
  294. NSValue * A = [NSValue valueWithCGPoint:CGPointMake(arc4random() % 414, JX_SCREEN_HEIGHT>=812?88:64)];
  295. NSValue * B = [NSValue valueWithCGPoint:CGPointMake(arc4random() % 414, JX_SCREEN_WIDTH + 200)];
  296. moveAnimation.values = @[A,B];
  297. moveAnimation.duration = arc4random() % 200 / 100.0 + 3.5;
  298. moveAnimation.repeatCount = 1;
  299. moveAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
  300. [self.moveLayer addAnimation:moveAnimation forKey:nil];
  301. CAKeyframeAnimation * tranAnimation = [CAKeyframeAnimation animationWithKeyPath:@"transform"];
  302. CATransform3D r0 = CATransform3DMakeRotation(M_PI/180 * (arc4random() % 360 ) , 0, 0, -1);
  303. CATransform3D r1 = CATransform3DMakeRotation(M_PI/180 * (arc4random() % 360 ) , 0, 0, -1);
  304. tranAnimation.values = @[[NSValue valueWithCATransform3D:r0],[NSValue valueWithCATransform3D:r1]];
  305. tranAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
  306. tranAnimation.duration = arc4random() % 200 / 100.0 + 3.5;
  307. //为了避免旋转动画完成后再次回到初始状态。
  308. [tranAnimation setFillMode:kCAFillModeForwards];
  309. [tranAnimation setRemovedOnCompletion:NO];
  310. [self.moveLayer addAnimation:tranAnimation forKey:nil];
  311. }
  312. - (void)startRedPackerts
  313. {
  314. self.timer = [NSTimer scheduledTimerWithTimeInterval:(1/4.0) target:self selector:@selector(showRain) userInfo:nil repeats:YES];
  315. // [self.timer invalidate];
  316. [[NSRunLoop currentRunLoop] addTimer:_timer forMode:NSRunLoopCommonModes];
  317. }
  318. - (void)showRain
  319. {
  320. if(self.count == 20000000)
  321. {
  322. [self.timer invalidate];
  323. for (NSInteger i = 0; i < self.view.layer.sublayers.count ; i ++)
  324. {
  325. CALayer * layer = self.view.layer.sublayers[i];
  326. [layer removeAllAnimations];
  327. }
  328. return;
  329. }
  330. self.count ++;
  331. // NSLog(@"%d",self.count);
  332. UIImageView * imageV = [UIImageView new];
  333. imageV.image = [UIImage imageNamed:@"redPackage"];
  334. imageV.frame = CGRectMake(0, 0, 60 , 60);
  335. self.moveLayer = [CALayer new];
  336. self.moveLayer.bounds = imageV.frame;
  337. self.moveLayer.anchorPoint = CGPointMake(0, 0);
  338. self.moveLayer.position = CGPointMake(0, -200);
  339. self.moveLayer.contents = (id)imageV.image.CGImage;
  340. // [self.backImageView.layer addSublayer:self.moveLayer];
  341. [self.backImageView.layer addSublayer:self.moveLayer];
  342. [self addAnimation];
  343. UITapGestureRecognizer * taps = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(clickRed:)];
  344. taps.numberOfTapsRequired = 1;
  345. taps.numberOfTouchesRequired = 1;
  346. self.backImageView.userInteractionEnabled = YES;
  347. [self.backImageView addGestureRecognizer:taps];
  348. }
  349. -(void)backButtonClicked:(UIButton *)sender
  350. {
  351. [g_navigation dismissViewController:self animated:YES];
  352. }
  353. -(void)viewWillDisappear:(BOOL)animated
  354. {
  355. [SVProgressHUD dismiss];
  356. [self.timer invalidate];
  357. if (_upwardMultiMarqueeView) {
  358. [_upwardMultiMarqueeView pause];
  359. }
  360. self.timer = nil;
  361. }
  362. - (void)clickRed:(UITapGestureRecognizer *)sender
  363. {
  364. if(self.balanceTime.intValue == 0)
  365. {
  366. [SVProgressHUD showErrorWithStatus:@"您今天抢红包次数用尽了"];
  367. }
  368. else
  369. {
  370. [SVProgressHUD show];
  371. long time = (long)[[NSDate date] timeIntervalSince1970];
  372. time = (time *1000 + g_server.timeDifference);
  373. NSString *salt = [NSString stringWithFormat:@"%ld", time];
  374. [g_server getRedPacktBy:salt andToView:self];
  375. // [UIView];
  376. }
  377. // [SVProgressHUD show];
  378. // CGPoint point = [sender locationInView:self.backImageView];
  379. // for (int i = 0 ; i < self.view.layer.sublayers.count ; i ++)
  380. // {
  381. // CALayer * layer = self.backImageView.layer.sublayers[i];
  382. // if ([[layer presentationLayer] hitTest:point] != nil)
  383. // {
  384. // NSLog(@"%d",i);
  385. //
  386. // BOOL hasRedPacketd = !(i % 3) ;
  387. //
  388. // UIImageView * newPacketIV = [UIImageView new];
  389. // if (hasRedPacketd)
  390. // {
  391. // newPacketIV.image = [UIImage imageNamed:@"rp_yes"];
  392. // newPacketIV.frame = CGRectMake(0, 0, 63.5, 74);
  393. // }
  394. // else
  395. // {
  396. // newPacketIV.image = [UIImage imageNamed:@"rp_no"];
  397. // newPacketIV.frame = CGRectMake(0, 0, 45.5, 76.5);
  398. // }
  399. //
  400. // layer.contents = (id)newPacketIV.image.CGImage;
  401. //
  402. // UIView * alertView = [UIView new];
  403. // alertView.layer.cornerRadius = 5;
  404. // alertView.frame = CGRectMake(point.x - 50, point.y, 100, 30);
  405. // [self.backImageView addSubview:alertView];
  406. //
  407. // UILabel * label = [UILabel new];
  408. // label.font = [UIFont systemFontOfSize:17];
  409. //
  410. // if (!hasRedPacketd)
  411. // {
  412. // label.text = @"旺旺年!人旺旺";
  413. // label.textColor = [UIColor whiteColor];
  414. // }
  415. // else
  416. // {
  417. // NSString * string = [NSString stringWithFormat:@"+%d金币",i];
  418. // NSString * iString = [NSString stringWithFormat:@"%d",i];
  419. // NSMutableAttributedString * attributedStr = [[NSMutableAttributedString alloc]initWithString:string];
  420. //
  421. // [attributedStr addAttribute:NSFontAttributeName
  422. // value:[UIFont systemFontOfSize:27]
  423. // range:NSMakeRange(0, 1)];
  424. // [attributedStr addAttribute:NSFontAttributeName
  425. // value:[UIFont fontWithName:@"PingFangTC-Semibold" size:32]
  426. // range:NSMakeRange(1, iString.length)];
  427. // [attributedStr addAttribute:NSFontAttributeName
  428. // value:[UIFont systemFontOfSize:17]
  429. // range:NSMakeRange(1 + iString.length, 2)];
  430. // label.attributedText = attributedStr;
  431. // label.textColor = [UIColor blackColor];
  432. // }
  433. //
  434. // [alertView addSubview:label];
  435. // [label mas_makeConstraints:^(MASConstraintMaker *make) {
  436. // make.centerX.equalTo(alertView.mas_centerX);
  437. // make.centerY.equalTo(alertView.mas_centerY);
  438. // }];
  439. //
  440. // [UIView animateWithDuration:1 animations:^{
  441. // alertView.alpha = 0;
  442. // alertView.frame = CGRectMake(point.x- 50, point.y - 100, 100, 30);
  443. // } completion:^(BOOL finished) {
  444. // [alertView removeFromSuperview];
  445. // }];
  446. // }
  447. // }
  448. NSLog(@"点到了");
  449. }
  450. #pragma mark - 跑马灯- UUMarqueeViewDelegate
  451. - (NSUInteger)numberOfVisibleItemsForMarqueeView:(UUMarqueeView*)marqueeView {
  452. return 5;
  453. }
  454. - (NSUInteger)numberOfDataForMarqueeView:(UUMarqueeView*)marqueeView {
  455. return _dataArr ? _dataArr.count : 0;
  456. }
  457. - (void)createItemView:(UIView*)itemView forMarqueeView:(UUMarqueeView*)marqueeView {
  458. // for upwardMultiMarqueeView
  459. UILabel *content = [[UILabel alloc] initWithFrame:CGRectMake(10, 5.0f,(JX_SCREEN_WIDTH-60)/2 , 16.0f)];
  460. content.font = [UIFont systemFontOfSize:13 weight:UIFontWeightRegular];
  461. content.textColor=[UIColor whiteColor];
  462. content.tag = 1001;
  463. [itemView addSubview:content];
  464. UILabel *priceL = [[UILabel alloc] init];
  465. priceL.font = [UIFont systemFontOfSize:13 weight:UIFontWeightRegular];
  466. priceL.textAlignment=NSTextAlignmentRight;
  467. priceL.textColor=[UIColor whiteColor];
  468. priceL.tag = 1002;
  469. [itemView addSubview:priceL];
  470. [priceL mas_makeConstraints:^(MASConstraintMaker *make) {
  471. make.top.mas_equalTo(5);
  472. make.right.mas_equalTo(-10);
  473. }];
  474. }
  475. - (void)updateItemView:(UIView*)itemView atIndex:(NSUInteger)index forMarqueeView:(UUMarqueeView*)marqueeView {
  476. packageRoolModel *model=_dataArr[index];
  477. UILabel *content = [itemView viewWithTag:1001];
  478. NSMutableAttributedString *hintString2=[[NSMutableAttributedString alloc]initWithString:[NSString stringWithFormat:@"恭喜%@ 获得%@",model.userName,model.money]];
  479. NSRange range2=[[hintString2 string]rangeOfString:[NSString stringWithFormat:@"获得%@",model.money]];
  480. [hintString2 addAttribute:NSForegroundColorAttributeName value:[UIColor yellowColor] range:range2];
  481. content.attributedText = hintString2;
  482. //UILabel *moenyL = [itemView viewWithTag:1002];
  483. //moenyL.text = [NSString stringWithFormat:@"恭喜%@",model.money];
  484. UILabel *time = [itemView viewWithTag:1002];
  485. NSString *stringTime=[self getTimeFromTimestamp:model.gmtCreate];
  486. time.text = [NSString stringWithFormat:@"恭喜%@",stringTime];
  487. }
  488. #pragma mark ---- 将时间戳转换成时间
  489. - (NSString *)getTimeFromTimestamp:(NSString *)timeL{
  490. //将对象类型的时间转换为NSDate类型
  491. NSDate * myDate=[NSDate dateWithTimeIntervalSince1970:[timeL doubleValue]/1000];
  492. //设置时间格式
  493. NSDateFormatter * formatter=[[NSDateFormatter alloc]init];
  494. [formatter setDateFormat:@"YYYY-MM-dd"];
  495. //将时间转换为字符串
  496. NSString *timeStr=[formatter stringFromDate:myDate];
  497. return timeStr;
  498. }
  499. @end