Files
peko-ios/YuMi/Modules/YMMine/View/Cell/XPMineTheGuildCell.m
2024-05-17 19:11:20 +08:00

161 lines
5.4 KiB
Objective-C

//
// XPMineTheGuildCell.m
// YuMi
//
// Created by YuMi on 2023/6/30.
//
#import "XPMineTheGuildCell.h"
#import "NetImageView.h"
#import "UIView+Corner.h"
@interface XPMineTheGuildCell()
/// 渐变色背景
@property (nonatomic,strong) UIImageView *bgImageView;
/// 左边logo图
@property (nonatomic,strong) UIImageView *leftIconView;
/// 左边头像
@property (nonatomic,strong) NetImageView *headIconView;
/// 显示标题
@property (nonatomic,strong) UILabel *titleView;
/// 右边点击buttom
@property (nonatomic,strong) UIButton *rightIconBtn;
@end
@implementation XPMineTheGuildCell
- (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.bgImageView];
[self.bgImageView addSubview:self.headIconView];
[self.bgImageView addSubview:self.leftIconView];
[self.bgImageView addSubview:self.titleView];
[self.bgImageView addSubview:self.rightIconBtn];
}
- (void)initSubViewConstraints {
[self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.trailing.mas_equalTo(-15);
make.leading.mas_equalTo(15);
make.top.height.equalTo(self.contentView);
}];
[self.headIconView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(18);
make.width.height.mas_equalTo(29);
make.centerY.equalTo(self.bgImageView);
}];
[self.leftIconView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(17);
make.width.mas_equalTo(30.76);
make.height.mas_equalTo(30);
make.centerY.equalTo(self.bgImageView);
}];
[self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(60);
make.centerY.equalTo(self.bgImageView);
}];
[self.rightIconBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.trailing.mas_equalTo(-18);
make.width.height.mas_equalTo(28);
make.centerY.equalTo(self.bgImageView);
}];
}
-(void)setClanInfo:(ClanDetailMainInfoModel *)clanInfo{
_clanInfo = clanInfo;
if([_clanInfo.clanMode isEqualToString: @"clan_hall"]){
if(_clanInfo.clan.hall.ownerUid > 0 || _clanInfo.clan.clan.elderUid > 0){
_titleView.text = YMLocalizedString(@"XPMineTheGuildCell0");
_leftIconView.hidden = YES;
_rightIconBtn.selected = YES;
_headIconView.hidden = NO;
NSString *imageUrl = @"";
if (_clanInfo.clan.clan.elderUid > 0){
imageUrl = _clanInfo.clan.clan.avatar;
}else{
if(_clanInfo.clan.hall.ownerUid > 0){
imageUrl = _clanInfo.clan.hall.ownerAvatar;
}
}
_headIconView.imageUrl = imageUrl;
}
return;
}
if(_clanInfo.family.familyId){
_titleView.text = YMLocalizedString(@"XPMineTheGuildCell0");
_leftIconView.hidden = YES;
_rightIconBtn.selected = YES;
_headIconView.hidden = NO;
_headIconView.imageUrl = _clanInfo.family.ownerAvatar;
}
}
#pragma mark -懒加载
- (UIImageView *)bgImageView{
if (!_bgImageView){
_bgImageView = [UIImageView new];
_bgImageView.userInteractionEnabled = YES;
_bgImageView.image = [UIImage gradientColorImageFromColors:@[UIColorFromRGB(0x2C2825),UIColorFromRGB(0x4E433D)] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(KScreenWidth - 30, 44)];
[_bgImageView setCornerWithLeftTopCorner:8 rightTopCorner:8 bottomLeftCorner:8 bottomRightCorner:8 size:CGSizeMake(KScreenWidth - 30, 44)];
}
return _bgImageView;
}
-(NetImageView *)headIconView{
if(!_headIconView){
NetImageConfig * config = [[NetImageConfig alloc]init];
config.imageType = ImageTypeUserIcon;
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_headIconView = [[NetImageView alloc] initWithConfig:config];
_headIconView.layer.cornerRadius = 14.5;
_headIconView.layer.masksToBounds = YES;
_headIconView.hidden = YES;
_headIconView.layer.borderWidth = 1;
_headIconView.layer.borderColor = UIColorFromRGB(0xF7C8A9).CGColor;
}
return _headIconView;
}
-(UIImageView *)leftIconView{
if (!_leftIconView){
_leftIconView = [UIImageView new];
_leftIconView.image = [UIImage imageNamed:@"mine_guild_my_icon"];
}
return _leftIconView;
}
- (UILabel *)titleView{
if(!_titleView){
_titleView = [UILabel new];
_titleView.font = [UIFont fontWithName:@"PingFang-SC-Medium" size:15];
_titleView.text = YMLocalizedString(@"XPMineTheGuildCell1");
UIImage *image = [UIImage gradientColorImageFromColors:@[UIColorFromRGB(0xF9CFB3),(id)UIColorFromRGB(0xEEA473)] gradientType:GradientTypeTopToBottom imgSize:CGSizeMake(100, 30)];
_titleView.textColor = [UIColor colorWithPatternImage:image];
}
return _titleView;
}
-(UIButton *)rightIconBtn{
if(!_rightIconBtn){
_rightIconBtn = [UIButton new];
[_rightIconBtn setBackgroundImage:[UIImage imageNamed:@"mine_guild_add"] forState:UIControlStateNormal];
[_rightIconBtn setBackgroundImage:[[UIImage imageNamed:@"mine_guild_right_arrow"]ms_SetImageForRTL] forState:UIControlStateSelected];
_rightIconBtn.selected = NO;
_rightIconBtn.userInteractionEnabled = NO;
}
return _rightIconBtn;
}
@end