123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- //
- // YMDynamicDetailCommentCell.m
- // MSYOUPAI
- //
- // Created by YoMi on 2024/3/21.
- // Copyright © 2024 MS. All rights reserved.
- //
- #import "YMDynamicDetailCommentCell.h"
- #import "YMDynamicDetailCommentCellViewModel.h"
- @interface YMDynamicDetailCommentCell ()
- /// ViewModel
- @property (nonatomic, strong) YMDynamicDetailCommentCellViewModel *viewModel;
- /// 基础视图
- @property (nonatomic, strong) UIView *baseView;
- /// 用户头像视图
- @property (nonatomic, strong) UIImageView *userAvatarView;
- /// 用户昵称标签
- @property (nonatomic, strong) UILabel *userNickNameLb;
- /// 动态评论日期标签
- @property (nonatomic, strong) UILabel *dynamicCommentDateLb;
- /// 动态评论内容标签
- @property (nonatomic, strong) UILabel *dynamicCommentContentLb;
- @end
- @implementation YMDynamicDetailCommentCell
- - (void)awakeFromNib {
- [super awakeFromNib];
- // Initialization code
- }
- - (void)setSelected:(BOOL)selected animated:(BOOL)animated {
- [super setSelected:selected animated:animated];
- // Configure the view for the selected state
- }
- - (void)ym_setupViews{
- self.contentView.backgroundColor = UIColor.clearColor;
- self.backgroundColor = UIColor.clearColor;
-
- [self.contentView addSubview:self.baseView];
- [self.baseView addSubview:self.userAvatarView];
- [self.baseView addSubview:self.userNickNameLb];
- [self.baseView addSubview:self.dynamicCommentDateLb];
- [self.baseView addSubview:self.dynamicCommentContentLb];
-
- [self setNeedsUpdateConstraints];
- [self updateConstraintsIfNeeded];
- }
- - (void)updateConstraints {
- [self.baseView mas_makeConstraints:^(MASConstraintMaker *make) {
- make.top.equalTo(self.contentView);
- make.left.equalTo(self.contentView);
- make.right.equalTo(self.contentView);
- make.bottom.equalTo(self.contentView);
- }];
-
- [self.userAvatarView mas_makeConstraints:^(MASConstraintMaker *make) {
- make.top.equalTo(self.baseView).offset(adapt(15));
- make.left.equalTo(self.baseView).offset(adapt(15));
- make.width.height.mas_equalTo(adapt(40));
- }];
-
- [self.userNickNameLb mas_makeConstraints:^(MASConstraintMaker *make) {
- make.top.equalTo(self.userAvatarView.mas_top);
- make.left.equalTo(self.userAvatarView.mas_right).offset(adapt(10));
- }];
-
- [self.dynamicCommentDateLb mas_makeConstraints:^(MASConstraintMaker *make) {
- make.centerY.equalTo(self.userNickNameLb.mas_centerY);
- make.right.equalTo(self.baseView).offset(adapt(-15));
- }];
-
- [self.dynamicCommentContentLb mas_makeConstraints:^(MASConstraintMaker *make) {
- make.top.equalTo(self.userNickNameLb.mas_bottom).offset(adapt(10));
- make.left.equalTo(self.userAvatarView.mas_right).offset(adapt(10));
- make.right.equalTo(self.baseView).offset(adapt(-15));
- make.bottom.equalTo(self.baseView).offset(adapt(-15)).priorityHigh();
- }];
-
-
-
- [super updateConstraints];
- }
- - (void)ym_bindViewModel:(YMDynamicDetailCommentCellViewModel*)viewModel{
- if (!viewModel) {
- return;
- }
- _viewModel = viewModel;
-
- [self.userAvatarView sd_setImageWithURL:[LCTools getImageUrlWithAddress:self.viewModel.userAvatar]];
-
- self.userNickNameLb.text = self.viewModel.userNickname;
-
- self.dynamicCommentDateLb.text = self.viewModel.dynamicCommentDate;
-
- self.dynamicCommentContentLb.attributedText = self.viewModel.dynamicCommentContent;
-
-
- }
- - (UIView *)baseView{
- if (!_baseView) {
- _baseView = [[UIView alloc]init];
- _baseView.backgroundColor = HexColorFromRGB(0xFFFFFF);
- }
- return _baseView;
- }
- - (UIImageView *)userAvatarView{
- if (!_userAvatarView) {
- _userAvatarView = [[UIImageView alloc]init];
- _userAvatarView.backgroundColor = UIColor.lightGrayColor;
- _userAvatarView.contentMode = UIViewContentModeScaleAspectFill;
- _userAvatarView.layer.cornerRadius = adapt(40)/2;
- _userAvatarView.clipsToBounds = YES;
- _userAvatarView.userInteractionEnabled = YES;
- WS(weakSelf)
- UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] init];
- [_userAvatarView addGestureRecognizer:tap];
- [[[tap rac_gestureSignal] takeUntil:self.rac_willDeallocSignal] subscribeNext:^(id x) {
- [weakSelf.viewModel.gotoPersonalPageSubject sendNext:@(weakSelf.viewModel.userId)];
- }];
- }
- return _userAvatarView;
- }
- - (UILabel *)userNickNameLb{
- if (!_userNickNameLb) {
- _userNickNameLb = [[UILabel alloc]init];
- _userNickNameLb.font = LCFont(13);
- _userNickNameLb.textColor = HexColorFromRGB(0x333333);
- _userNickNameLb.textAlignment = NSTextAlignmentLeft;
- _userNickNameLb.text = @"******";
- }
- return _userNickNameLb;
- }
- - (UILabel *)dynamicCommentDateLb{
- if (!_dynamicCommentDateLb) {
- _dynamicCommentDateLb = [[UILabel alloc]init];
- _dynamicCommentDateLb.font = LCFont(12);
- _dynamicCommentDateLb.textColor = HexColorFromRGB(0x9c9c9c);
- _dynamicCommentDateLb.textAlignment = NSTextAlignmentRight;
- _dynamicCommentDateLb.text = @"******";
- }
- return _dynamicCommentDateLb;
- }
- - (UILabel *)dynamicCommentContentLb{
- if (!_dynamicCommentContentLb) {
- _dynamicCommentContentLb = [[UILabel alloc]init];
- _dynamicCommentContentLb.font = LCFont(13);
- _dynamicCommentContentLb.textColor = HexColorFromRGB(0x333333);
- _dynamicCommentContentLb.textAlignment = NSTextAlignmentLeft;
- _dynamicCommentContentLb.text = @"******";
- _dynamicCommentContentLb.numberOfLines = 0;
- }
- return _dynamicCommentContentLb;
- }
- @end
|