MOLiveMsgNormalTipCell.m 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. //
  2. // MOLiveMsgNormalTipCell.m
  3. // MiMoLive
  4. //
  5. // Created by SuperC on 2024/2/17.
  6. //
  7. #import "MOLiveMsgNormalTipCell.h"
  8. #import "MOLiveMsgBaseCell.h"
  9. @implementation MOLiveMsgNormalTipCell
  10. - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{
  11. self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
  12. if (self != nil) {
  13. self.contentView.transform = CGAffineTransformMakeScale(1, -1);
  14. self.backgroundColor = [UIColor clearColor];
  15. self.selectionStyle = UITableViewCellSelectionStyleNone;
  16. [self setupUI];
  17. }
  18. return self;
  19. }
  20. - (void)setupUI{
  21. [self.contentView addSubview:self.bgView];
  22. [self.bgView mas_makeConstraints:^(MASConstraintMaker *make) {
  23. make.left.equalTo(self.contentView).offset(MOBgViewOffSet);
  24. make.right.equalTo(self.contentView).offset(-MOBgViewOffSet);
  25. make.top.equalTo(self.contentView).offset(MOBgViewOffSet);
  26. make.bottom.equalTo(self.contentView).offset(-MOBgViewOffSet);
  27. }];
  28. self.bgView.layer.cornerRadius = 12.0;
  29. self.bgView.layer.masksToBounds = YES;
  30. [self.bgView addSubview:self.bgImgView];
  31. [self.bgImgView mas_makeConstraints:^(MASConstraintMaker *make) {
  32. make.edges.equalTo(self.bgView);
  33. }];
  34. [self.bgView addSubview:self.iconImgView];
  35. [self.iconImgView mas_makeConstraints:^(MASConstraintMaker *make) {
  36. make.width.height.equalTo(@16.0);
  37. make.centerY.equalTo(self.bgView);
  38. make.left.equalTo(self.bgView).offset(MOContentBaseLeftSpacing);
  39. }];
  40. [self.bgView addSubview:self.rightImgView];
  41. [self.rightImgView mas_makeConstraints:^(MASConstraintMaker *make) {
  42. make.width.equalTo(@6.0);
  43. make.height.equalTo(@9.0);
  44. make.centerY.equalTo(self.bgView);
  45. make.right.equalTo(self.bgView).offset(-MOContentBaseLeftSpacing);
  46. }];
  47. [self.bgView addSubview:self.contentLab];
  48. [self.contentLab mas_makeConstraints:^(MASConstraintMaker *make) {
  49. make.centerY.equalTo(self.bgView);
  50. make.left.equalTo(self.iconImgView.mas_right).offset(5.0);
  51. make.right.equalTo(self.rightImgView.mas_left).offset(5.0);
  52. make.height.equalTo(@20.0);
  53. }];
  54. }
  55. - (void)awakeFromNib {
  56. [super awakeFromNib];
  57. // Initialization code
  58. }
  59. - (void)setSelected:(BOOL)selected animated:(BOOL)animated {
  60. [super setSelected:selected animated:animated];
  61. // Configure the view for the selected state
  62. }
  63. - (void)setCellModel:(MORtmEntity *)cellModel{
  64. _cellModel = cellModel;
  65. MORtmJosnEntity *jsonEntity = (MORtmJosnEntity *)cellModel.data;
  66. self.contentLab.text = jsonEntity.content;
  67. CGFloat cellWidth = (SCREENWIDTH - MOLiveMsgLeftSpacing - MOLiveMsgRightSpacing - MOBgViewOffSet * 2);
  68. CGFloat contentLabWidth = [MOTools getWidthWithString:jsonEntity.content font:MOTextLabelFont];
  69. CGFloat rightSpacing = cellWidth - contentLabWidth - MOContentBaseLeftSpacing - 16.0 - 5.0 - MOContentBaseLeftSpacing - 6.0;
  70. if(cellModel.type == SystemTipVip){
  71. [self.iconImgView setImage:[UIImage imageNamed:@"icon_live_msg_vip"]];
  72. // NSArray *colorArr = @[[MOTools colorWithHexString:@"#D6CD82" alpha:1.0],[MOTools colorWithHexString:@"#FCA08A" alpha:1.0]];
  73. // UIImage *image = [MOTools createGradientRectImageWithBounds:CGRectMake(0, 0, cellWidth, MOTextLabelMinHeight) Colors:colorArr GradientType:0];
  74. // [self.bgImgView setImage:image];
  75. }
  76. else if (cellModel.type == SystemTipChat){
  77. [self.iconImgView setImage:[UIImage imageNamed:@"icon_live_msg_chat"]];
  78. // NSArray *colorArr = @[[MOTools colorWithHexString:@"#F418F4" alpha:1.0],[MOTools colorWithHexString:@"#912FFE" alpha:1.0]];
  79. // UIImage *image = [MOTools createGradientRectImageWithBounds:CGRectMake(0, 0, cellWidth, MOTextLabelMinHeight) Colors:colorArr GradientType:0];
  80. // [self.bgImgView setImage:image];
  81. }
  82. else{
  83. [self.iconImgView setImage:[UIImage imageNamed:@"icon_live_msg_gift"]];
  84. // NSArray *colorArr = @[[MOTools colorWithHexString:@"#F418F4" alpha:1.0],[MOTools colorWithHexString:@"#912FFE" alpha:1.0]];
  85. // UIImage *image = [MOTools createGradientRectImageWithBounds:CGRectMake(0, 0, cellWidth, MOTextLabelMinHeight) Colors:colorArr GradientType:0];
  86. // [self.bgImgView setImage:image];
  87. }
  88. [self.bgView mas_updateConstraints:^(MASConstraintMaker *make) {
  89. make.right.equalTo(self.contentView).offset(-rightSpacing);
  90. }];
  91. }
  92. #pragma mark - Lazy
  93. - (UIView *)bgView
  94. {
  95. if (_bgView == nil)
  96. {
  97. _bgView = [UIView new];
  98. _bgView.backgroundColor = MONormalBgViewColor;
  99. }
  100. return _bgView;
  101. }
  102. - (UIImageView *)bgImgView{
  103. if(!_bgImgView){
  104. _bgImgView = [[UIImageView alloc] init];
  105. _bgImgView.contentMode = UIViewContentModeScaleToFill;
  106. _bgImgView.hidden = YES;
  107. }
  108. return _bgImgView;
  109. }
  110. - (UIImageView *)iconImgView{
  111. if(!_iconImgView){
  112. _iconImgView = [[UIImageView alloc] init];
  113. _iconImgView.contentMode = UIViewContentModeScaleAspectFit;
  114. }
  115. return _iconImgView;
  116. }
  117. - (UILabel *)contentLab{
  118. if (!_contentLab)
  119. {
  120. _contentLab = [[UILabel alloc] init];
  121. _contentLab.text = @"";
  122. _contentLab.font = MOTextLabelFont;
  123. _contentLab.textColor = [MOTools colorWithHexString:@"#FFFFFF" alpha:1.0];
  124. _contentLab.textAlignment = NSTextAlignmentLeft;
  125. _contentLab.numberOfLines = 1;
  126. }
  127. return _contentLab;
  128. }
  129. - (UIImageView *)rightImgView{
  130. if(!_rightImgView){
  131. _rightImgView = [[UIImageView alloc] init];
  132. [_rightImgView setImage:[UIImage imageNamed:@"icon_live_right_white"]];
  133. _rightImgView.contentMode = UIViewContentModeScaleAspectFit;
  134. }
  135. return _rightImgView;
  136. }
  137. @end