MSYMineInfoProgressCell.m 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. //
  2. // MSYMineInfoProgressCell.m
  3. // MSYMineInfo
  4. //
  5. // Created by admin on 2022/3/1.
  6. //
  7. #import "MSYMineInfoProgressCell.h"
  8. /**
  9. 完善信息进度cell
  10. */
  11. @implementation MSYMineInfoProgressCell
  12. -(UIProgressView *)progressView{
  13. if (_progressView == nil){
  14. _progressView = [UIProgressView new];
  15. _progressView.trackTintColor = LZF5F4F7Color;
  16. _progressView.progressTintColor = [UIColor colorWithHexString:@"#7C69FE"];
  17. }
  18. return _progressView;
  19. }
  20. -(UILabel *)progressLab{
  21. if (_progressLab == nil){
  22. _progressLab = [UILabel new];
  23. _progressLab.textColor = LZ273145Color;
  24. _progressLab.font = LCFont14;
  25. }
  26. return _progressLab;
  27. }
  28. -(YOUPAIBubbleLabel *)bubbleLab{
  29. if (_bubbleLab == nil){
  30. _bubbleLab = [YOUPAIBubbleLabel new];
  31. _bubbleLab.text = @"资料完善度100%奖励+20钻石";
  32. }
  33. return _bubbleLab;
  34. }
  35. -(instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{
  36. if (self == [super initWithStyle:style reuseIdentifier:reuseIdentifier]){
  37. [self.contentView addSubview:self.progressLab];
  38. [self.contentView addSubview:self.progressView];
  39. [self.contentView addSubview:self.bubbleLab];
  40. [self.rightArrow setHidden:true];
  41. [self.lineView setHidden:YES];
  42. [self makeLayout];
  43. [self defualUI];
  44. [self addObserver:self forKeyPath:@"progressView.progress" options:kNilOptions context:NULL];
  45. }
  46. return self;
  47. }
  48. -(void)defualUI{
  49. self.titleLab.text = @"资料完善度";
  50. }
  51. -(void)makeLayout{
  52. [self.titleLab mas_makeConstraints:^(MASConstraintMaker *make) {
  53. make.centerY.mas_equalTo(self.rightArrow);
  54. make.left.mas_equalTo(12);
  55. }];
  56. [self.rightArrow mas_makeConstraints:^(MASConstraintMaker *make) {
  57. make.centerY.mas_equalTo(self.mas_top).offset(27);
  58. make.right.mas_equalTo(-12);
  59. }];
  60. [_progressView mas_makeConstraints:^(MASConstraintMaker *make) {
  61. make.left.mas_equalTo(12);
  62. make.top.mas_equalTo(59);
  63. make.right.mas_equalTo(-12);
  64. }];
  65. [_progressLab mas_makeConstraints:^(MASConstraintMaker *make) {
  66. make.left.mas_equalTo(self.titleLab);
  67. make.top.mas_equalTo(self.progressView.mas_bottom).offset(2);
  68. }];
  69. [_bubbleLab mas_makeConstraints:^(MASConstraintMaker *make) {
  70. make.left.mas_equalTo(self.titleLab.mas_right).offset(2);
  71. make.centerY.mas_equalTo(self.titleLab);
  72. }];
  73. }
  74. - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
  75. [self layoutIfNeeded];
  76. [_progressLab mas_remakeConstraints:^(MASConstraintMaker *make) {
  77. CGFloat w = 0;
  78. if (self.progressView.progress > 0.9){
  79. w = (KScreenWidth-30)*0.9;
  80. }else{
  81. w = (KScreenWidth-30)*self.progressView.progress;
  82. }
  83. make.left.mas_equalTo(self.titleLab).offset(w);
  84. make.top.mas_equalTo(self.progressView.mas_bottom).offset(2);
  85. }];
  86. }
  87. - (void)dealloc {
  88. [self removeObserver:self forKeyPath:@"progressView.progress"];
  89. }
  90. @end