166 lines
4.9 KiB
Objective-C
166 lines
4.9 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 "XPMineFunctionItemModel.h"
|
|
@interface XPMineListCell()
|
|
|
|
@property (nonatomic,strong) UIView * bgView;
|
|
@property (nonatomic,strong) NetImageView *iconView;
|
|
@property (nonatomic,strong) UILabel * titleView;
|
|
@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.titleView];
|
|
[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.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.leading.mas_equalTo(42);
|
|
make.centerY.equalTo(self.bgView);
|
|
}];
|
|
[self.arrowView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.width.mas_offset(22);
|
|
make.height.mas_offset(22);
|
|
make.centerY.equalTo(self.bgView);
|
|
make.trailing.mas_equalTo(-10);
|
|
}];
|
|
|
|
[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:(XPMineFunctionItemModel *)itemModel {
|
|
_itemModel = itemModel;
|
|
if (_itemModel) {
|
|
self.titleView.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;
|
|
|
|
[self.iconView mas_remakeConstraints:^(MASConstraintMaker *make) {
|
|
make.leading.mas_equalTo(9);
|
|
make.width.mas_equalTo(28);
|
|
make.height.mas_equalTo(28);
|
|
make.centerY.equalTo(self.bgView);
|
|
}];
|
|
}
|
|
}
|
|
-(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];
|
|
_iconView.contentMode = UIViewContentModeScaleAspectFill;
|
|
}
|
|
return _iconView;
|
|
}
|
|
|
|
- (UILabel *)titleView{
|
|
if (!_titleView){
|
|
_titleView = [UILabel new];
|
|
_titleView.font = kFontMedium(15);
|
|
_titleView.textColor = UIColorFromRGB(0x1E2531);
|
|
}
|
|
return _titleView;
|
|
}
|
|
|
|
- (UIImageView *)arrowView{
|
|
if (!_arrowView){
|
|
_arrowView = [UIImageView new];
|
|
_arrowView.image = [UIImage imageNamed:@"common_right_arrow"];
|
|
_arrowView.contentMode = UIViewContentModeScaleAspectFit;
|
|
if (isMSRTL()) {
|
|
_arrowView.transform = CGAffineTransformMakeScale(-1.0, 1.0);
|
|
}
|
|
}
|
|
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
|