Files
peko-ios/YuMi/Modules/YMMine/View/Cell/XPMineListCell.m
2024-04-11 17:05:27 +08:00

157 lines
4.4 KiB
Objective-C

//
// XPMineListCell.m
// YuMi
//
// Created by YuMi on 2023/6/30.
//
#import "XPMineListCell.h"
#import "NetImageView.h"
#import "UIView+Corner.h"
///Model
#import "XPMineFuntionItemModel.h"
@interface XPMineListCell()
@property (nonatomic,strong) UIView * bgView;
@property (nonatomic,strong) NetImageView *iconView;
@property (nonatomic,strong) UILabel * titleVeiw;
@property (nonatomic,strong) UIImageView * arrowView;
@property (nonatomic,strong) UIView *lineView;
///角标
@property (nonatomic,strong) NetImageView *badgeImageView;
@end
@implementation XPMineListCell
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
self.selectionStyle = UITableViewCellSelectionStyleNone;
self.backgroundColor = [UIColor clearColor];
[self.contentView addSubview:self.bgView];
[self.bgView addSubview:self.iconView];
[self.bgView addSubview:self.badgeImageView];
[self.bgView addSubview:self.titleVeiw];
[self.bgView addSubview:self.arrowView];
[self.bgView addSubview:self.lineView];
}
- (void)initSubViewConstraints {
[self.bgView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(15);
make.trailing.mas_equalTo(-15);
make.top.bottom.equalTo(self.contentView);
}];
[self.iconView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(11);
make.width.height.mas_equalTo(25);
make.centerY.equalTo(self.bgView);
}];
[self.badgeImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(self.iconView.mas_top);
make.size.mas_equalTo(CGSizeMake(24, 10));
make.leading.mas_equalTo(self.iconView.mas_centerX);
}];
[self.titleVeiw mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(42);
make.centerY.equalTo(self.bgView);
}];
[self.arrowView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_offset(20);
make.height.mas_offset(20);
make.centerY.equalTo(self.bgView);
make.trailing.mas_equalTo(-15);
}];
[self.lineView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(0.5);
make.bottom.equalTo(self.bgView);
make.leading.mas_equalTo(15);
make.trailing.mas_equalTo(-15);
}];
}
#pragma mark - Getters And Setters
- (void)setItemModel:(XPMineFuntionItemModel *)itemModel {
_itemModel = itemModel;
if (_itemModel) {
self.titleVeiw.text = _itemModel.centerName;
if([_itemModel.centerPic isEqualToString:@"mineview_set"]){
self.iconView.image = [UIImage imageNamed:@"mineview_set"];
}else{
self.iconView.imageUrl = _itemModel.centerPic;
}
self.badgeImageView.imageUrl = itemModel.centerBadge ? itemModel.centerBadge : nil;
}
}
-(void)setCornerWithIsTop:(BOOL)isTop isBottom:(BOOL)isBottom{
_bgView.layer.mask = nil;
if(isTop == YES && isBottom == YES){
[_bgView setCornerWithLeftTopCorner:10 rightTopCorner:10 bottomLeftCorner:10 bottomRightCorner:10 size:CGSizeMake(KScreenWidth - 30, 60)];
return;
}
if (isTop){
[_bgView setCornerWithLeftTopCorner:10 rightTopCorner:10 bottomLeftCorner:0 bottomRightCorner:0 size:CGSizeMake(KScreenWidth - 30, 60)];
}
if(isBottom){
[_bgView setCornerWithLeftTopCorner:0 rightTopCorner:0 bottomLeftCorner:10 bottomRightCorner:10 size:CGSizeMake(KScreenWidth - 30, 60)];
}
}
- (UIView *)bgView{
if (!_bgView){
_bgView = [UIView new];
_bgView.backgroundColor = [UIColor whiteColor];
}
return _bgView;
}
- (NetImageView *)iconView{
if (!_iconView){
_iconView = [NetImageView new];
}
return _iconView;
}
- (UILabel *)titleVeiw{
if (!_titleVeiw){
_titleVeiw = [UILabel new];
_titleVeiw.font = [UIFont systemFontOfSize:14 weight:UIFontWeightRegular];
_titleVeiw.textColor = UIColorFromRGB(0x1F1A4E);
}
return _titleVeiw;
}
- (UIImageView *)arrowView{
if (!_arrowView){
_arrowView = [UIImageView new];
_arrowView.image = [UIImage imageNamed:@"mine_item_new_arrow"];
}
return _arrowView;
}
-(UIView *)lineView{
if (!_lineView){
_lineView = [UIView new];
_lineView.backgroundColor = UIColorFromRGB(0xF7F7F7);
}
return _lineView;
}
- (NetImageView *)badgeImageView {
if (!_badgeImageView) {
_badgeImageView = [[NetImageView alloc] init];
_badgeImageView.contentMode = UIViewContentModeScaleAspectFit;
}
return _badgeImageView;
}
@end