NASMySpaceTableViewCell.m 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. //
  2. // NASMySpaceTableViewCell.m
  3. // 双子星云手机
  4. //
  5. // Created by xd h on 2024/6/21.
  6. //
  7. #import "NASMySpaceTableViewCell.h"
  8. @interface NASMySpaceTableViewCell ()
  9. @property(nonatomic,strong) UIImageView *typeImageView;
  10. @property(nonatomic,strong) UILabel *diskNameLabel;
  11. @property(nonatomic,strong) UIView *progressBgView;
  12. @property(nonatomic,strong) UIView *progressSelectView;
  13. @property(nonatomic,strong) CAGradientLayer *glayer;
  14. @property(nonatomic,strong) UILabel *totalLabel;
  15. @property(nonatomic,strong) UILabel *usedlabel;
  16. //@property(nonatomic,strong) UILabel *unuselabel;
  17. @end
  18. @implementation NASMySpaceTableViewCell
  19. - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
  20. {
  21. self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
  22. if (self)
  23. {
  24. [self drawView];
  25. }
  26. return self;
  27. }
  28. - (void)drawView
  29. {
  30. UIView *whiteBgView = [UIView new];
  31. whiteBgView.backgroundColor = [UIColor whiteColor];
  32. whiteBgView.layer.cornerRadius = 8;
  33. whiteBgView.layer.masksToBounds = YES;
  34. [self.contentView addSubview:whiteBgView];
  35. [whiteBgView mas_makeConstraints:^(MASConstraintMaker *make) {
  36. make.left.mas_equalTo(15);
  37. make.right.mas_equalTo(-15);
  38. make.height.mas_equalTo(110);
  39. make.bottom.mas_equalTo(0);
  40. }];
  41. _typeImageView = [[UIImageView alloc] init];
  42. //_typeImageView.backgroundColor = [UIColor greenColor];
  43. [whiteBgView addSubview:_typeImageView];
  44. [_typeImageView mas_makeConstraints:^(MASConstraintMaker *make) {
  45. make.left.mas_equalTo(15);
  46. make.top.mas_equalTo(15);
  47. make.width.mas_equalTo(32);
  48. make.height.mas_equalTo(32);
  49. }];
  50. _diskNameLabel = [[UILabel alloc] init];
  51. _diskNameLabel.font = [UIFont systemFontOfSize:14.0];
  52. _diskNameLabel.textColor = [UIColor blackColor];
  53. //_fileNamelabel.backgroundColor = [UIColor greenColor];
  54. [whiteBgView addSubview:_diskNameLabel];
  55. [_diskNameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  56. make.left.mas_equalTo(_typeImageView.mas_right).offset(8);
  57. make.right.mas_equalTo(-18);
  58. make.centerY.equalTo(_typeImageView.mas_centerY).offset(0);
  59. //make.height.mas_equalTo(20);
  60. }];
  61. _progressBgView = [[UIView alloc] init];
  62. _progressBgView.backgroundColor = [UIColor hwColor:@"#F9F9F9" alpha:1.0];
  63. _progressBgView.layer.cornerRadius = 3;
  64. _progressBgView.layer.masksToBounds = YES;
  65. [whiteBgView addSubview:_progressBgView];
  66. [_progressBgView mas_makeConstraints:^(MASConstraintMaker *make) {
  67. make.left.mas_equalTo(16);
  68. make.right.mas_equalTo(-18);
  69. make.height.mas_equalTo(6);
  70. make.top.equalTo(_typeImageView.mas_bottom).offset(10);
  71. }];
  72. _progressSelectView = [[UIView alloc] init];
  73. //_progressSelectView.backgroundColor = [UIColor hwColor:@"#F9F9F9" alpha:1.0];
  74. _progressSelectView.layer.cornerRadius = 3;
  75. _progressSelectView.layer.masksToBounds = YES;
  76. [_progressBgView addSubview:_progressSelectView];
  77. // gradient
  78. _glayer = [CAGradientLayer layer];
  79. _glayer.startPoint = CGPointMake(0, 0.5);
  80. _glayer.endPoint = CGPointMake(1, 0.5);
  81. _glayer.colors = @[(__bridge id)[UIColor hwColor:@"#0BDDFD" alpha:1.0].CGColor, (__bridge id)[UIColor hwColor:@"#048CFB" alpha:1.0].CGColor];
  82. _glayer.locations = @[@(0), @(1.0f)];
  83. [_progressSelectView.layer addSublayer:_glayer];
  84. CGFloat butWidth = (SCREEN_W - 16*2 - 16*2)/2.0;
  85. _totalLabel = [[UILabel alloc] init];
  86. _totalLabel.font = [UIFont systemFontOfSize:12.0];
  87. _totalLabel.textColor = [UIColor hwColor:@"#818CA2"];
  88. //_fileNamelabel.backgroundColor = [UIColor greenColor];
  89. _totalLabel.textAlignment = NSTextAlignmentRight;
  90. [whiteBgView addSubview:_totalLabel];
  91. [_totalLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  92. make.right.mas_equalTo(-16);
  93. make.width.mas_equalTo(butWidth);
  94. make.top.mas_equalTo(_progressBgView.mas_bottom).offset(10);
  95. }];
  96. _usedlabel = [[UILabel alloc] init];
  97. _usedlabel.font = [UIFont systemFontOfSize:12.0];
  98. _usedlabel.textColor = [UIColor hwColor:@"#818CA2"];
  99. //_usedlabel.textAlignment = NSTextAlignmentCenter;
  100. //_usedlabel.backgroundColor = [UIColor greenColor];
  101. [whiteBgView addSubview:_usedlabel];
  102. [_usedlabel mas_makeConstraints:^(MASConstraintMaker *make) {
  103. //make.left.mas_equalTo(_totalLabel.mas_right);
  104. make.left.mas_equalTo(16);
  105. make.width.mas_equalTo(butWidth);
  106. make.top.mas_equalTo(_progressBgView.mas_bottom).offset(10);
  107. }];
  108. // _unuselabel = [[UILabel alloc] init];
  109. // _unuselabel.font = [UIFont systemFontOfSize:12.0];
  110. // _unuselabel.textColor = [UIColor hwColor:@"#818CA2"];
  111. // _unuselabel.textAlignment = NSTextAlignmentRight;
  112. // //_unuselabel.backgroundColor = [UIColor greenColor];
  113. // [whiteBgView addSubview:_unuselabel];
  114. //
  115. // [_unuselabel mas_makeConstraints:^(MASConstraintMaker *make) {
  116. // make.right.mas_equalTo(-13);
  117. // make.width.mas_equalTo(butWidth);
  118. // make.top.mas_equalTo(_progressBgView.mas_bottom).offset(10);
  119. // }];
  120. }
  121. - (void)setExtraFileModel:(cloudPhoneExtraFileModel *)extraFileModel
  122. {
  123. _extraFileModel = extraFileModel;
  124. KWeakSelf
  125. dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
  126. [weakSelf delayedSetDataFun];
  127. });
  128. }
  129. - (void)delayedSetDataFun
  130. {
  131. if([_extraFileModel.extraPath containsString:@"/sdcard/"]){
  132. _typeImageView.image = [UIImage imageNamed:@"nas_disk_phone"];
  133. _diskNameLabel.text = NSLocalizedString(@"NAS_cloudPhone_Space",nil);
  134. }
  135. else{
  136. _typeImageView.image = [UIImage imageNamed:@"nas_disk_u"];
  137. _diskNameLabel.text = _extraFileModel.name;
  138. }
  139. long allExtraAvableSize = _extraFileModel.extraAvableSize;
  140. long allExtraTotalSize = _extraFileModel.extraTotalSize;
  141. if(allExtraTotalSize == 0){
  142. return;
  143. }
  144. CGFloat rate = (allExtraTotalSize-allExtraAvableSize) /(allExtraTotalSize*1.0);
  145. CGRect frame = _progressBgView.bounds;
  146. frame.size.width = frame.size.width * rate;
  147. if (!isnan(frame.size.width))
  148. {
  149. _progressSelectView.frame = frame;
  150. _glayer.frame = frame;
  151. }
  152. // 计算 大小
  153. //CGFloat extraAvableSizeF = allExtraAvableSize / 1024.0 /1024.0/1024.0;
  154. CGFloat extraTotalSizeF = allExtraTotalSize / 1024.0 /1024.0/1024.0;
  155. CGFloat extraUsedSizeF = (allExtraTotalSize-allExtraAvableSize) / 1024.0 /1024.0/1024.0;
  156. NSString *totalStr = [[NSString alloc] initWithFormat:@"%@%.2fGB",NSLocalizedString(@"NAS_disk_Total_title",nil),extraTotalSizeF];
  157. if(extraTotalSizeF > 1024){
  158. extraTotalSizeF = extraTotalSizeF/1024.0;
  159. totalStr = [[NSString alloc] initWithFormat:@"%@%.2fTB",NSLocalizedString(@"NAS_disk_Total_title",nil),extraTotalSizeF];
  160. }
  161. _totalLabel.text = totalStr;
  162. NSString *usedStr = [[NSString alloc] initWithFormat:@"%@%.2fGB",NSLocalizedString(@"NAS_disk_used_Space",nil),extraUsedSizeF];
  163. if(extraTotalSizeF > 1024){
  164. extraUsedSizeF = extraUsedSizeF/1024.0;
  165. usedStr = [[NSString alloc] initWithFormat:@"%@%.2fTB",NSLocalizedString(@"NAS_disk_used_Space",nil),extraUsedSizeF];
  166. }
  167. _usedlabel.text = usedStr;
  168. // NSString *unusedStr = [[NSString alloc] initWithFormat:@"%@%.2fGB",NSLocalizedString(@"NAS_disk_unuse_Space",nil),extraAvableSizeF];
  169. // if(extraAvableSizeF > 1024){
  170. // extraAvableSizeF = extraAvableSizeF/1024.0;
  171. // unusedStr = [[NSString alloc] initWithFormat:@"%@%.2fTB",NSLocalizedString(@"NAS_disk_unuse_Space",nil),extraAvableSizeF];
  172. // }
  173. // _unuselabel.text = unusedStr;
  174. }
  175. @end